# This is a Gradle generated file for dependency locking.
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
androidx.databinding:databinding-common:4.1.3=classpath
androidx.databinding:databinding-compiler-common:4.1.3=classpath
com.android.databinding:baseLibrary:4.1.3=classpath
com.android.tools.analytics-library:crash:27.1.3=classpath
com.android.tools.analytics-library:protos:27.1.3=classpath
com.android.tools.analytics-library:shared:27.1.3=classpath
com.android.tools.analytics-library:tracker:27.1.3=classpath
com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09=classpath
com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09=classpath
com.android.tools.build:aapt2-proto:4.1.3-6503028=classpath
com.android.tools.build:aaptcompiler:4.1.3=classpath
com.android.tools.build:apksig:4.1.3=classpath
com.android.tools.build:apkzlib:4.1.3=classpath
com.android.tools.build:builder-model:4.1.3=classpath
com.android.tools.build:builder-test-api:4.1.3=classpath
com.android.tools.build:builder:4.1.3=classpath
com.android.tools.build:bundletool:0.14.0=classpath
com.android.tools.build:gradle-api:4.1.3=classpath
com.android.tools.build:gradle:4.1.3=classpath
com.android.tools.build:manifest-merger:27.1.3=classpath
com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api=classpath
com.android.tools.ddms:ddmlib:27.1.3=classpath
com.android.tools.layoutlib:layoutlib-api:27.1.3=classpath
com.android.tools.lint:lint-gradle-api:27.1.3=classpath
com.android.tools.lint:lint-model:27.1.3=classpath
com.android.tools:annotations:27.1.3=classpath
com.android.tools:common:27.1.3=classpath
com.android.tools:dvlib:27.1.3=classpath
com.android.tools:repository:27.1.3=classpath
com.android.tools:sdk-common:27.1.3=classpath
com.android.tools:sdklib:27.1.3=classpath
com.android:signflinger:4.1.3=classpath
com.android:zipflinger:4.1.3=classpath
com.github.gundy:semver4j:0.16.4=classpath
com.google.auto.value:auto-value-annotations:1.6.2=classpath
com.google.code.findbugs:jsr305:3.0.2=classpath
com.google.code.gson:gson:2.8.6=classpath
com.google.crypto.tink:tink:1.3.0-rc2=classpath
com.google.errorprone:error_prone_annotations:2.3.4=classpath
com.google.flatbuffers:flatbuffers-java:1.12.0=classpath
com.google.guava:failureaccess:1.0.1=classpath
com.google.guava:guava:29.0-jre=classpath
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=classpath
com.google.j2objc:j2objc-annotations:1.3=classpath
com.google.jimfs:jimfs:1.1=classpath
com.google.protobuf:protobuf-java-util:3.10.0=classpath
com.google.protobuf:protobuf-java:3.10.0=classpath
com.google.test.platform:core-proto:0.0.2-dev=classpath
com.googlecode.json-simple:json-simple:1.1=classpath
com.googlecode.juniversalchardet:juniversalchardet:1.0.3=classpath
com.squareup:javapoet:1.10.0=classpath
com.squareup:javawriter:2.5.0=classpath
com.sun.activation:javax.activation:1.2.0=classpath
com.sun.istack:istack-commons-runtime:3.0.7=classpath
com.sun.xml.fastinfoset:FastInfoset:1.2.15=classpath
commons-codec:commons-codec:1.10=classpath
commons-io:commons-io:2.4=classpath
commons-logging:commons-logging:1.2=classpath
de.undercouch:gradle-download-task:4.1.1=classpath
it.unimi.dsi:fastutil:7.2.0=classpath
javax.activation:javax.activation-api:1.2.0=classpath
javax.inject:javax.inject:1=classpath
javax.xml.bind:jaxb-api:2.3.1=classpath
net.java.dev.jna:jna:5.6.0=classpath
net.sf.jopt-simple:jopt-simple:4.9=classpath
net.sf.kxml:kxml2:2.3.0=classpath
net.sf.proguard:proguard-base:6.0.3=classpath
net.sf.proguard:proguard-gradle:6.0.3=classpath
org.antlr:antlr4:4.5.3=classpath
org.apache.commons:commons-compress:1.12=classpath
org.apache.httpcomponents:httpclient:4.5.6=classpath
org.apache.httpcomponents:httpcore:4.4.10=classpath
org.apache.httpcomponents:httpmime:4.5.6=classpath
org.bouncycastle:bcpkix-jdk15on:1.56=classpath
org.bouncycastle:bcprov-jdk15on:1.56=classpath
org.checkerframework:checker-qual:2.11.1=classpath
org.glassfish.jaxb:jaxb-runtime:2.3.1=classpath
org.glassfish.jaxb:txw2:2.3.1=classpath
org.jdom:jdom2:2.0.6=classpath
org.jetbrains.intellij.deps:trove4j:1.0.20181211=classpath
org.jetbrains.kotlin:kotlin-android-extensions:1.6.10=classpath
org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.6.10=classpath
org.jetbrains.kotlin:kotlin-build-common:1.6.10=classpath
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.6.10=classpath
org.jetbrains.kotlin:kotlin-compiler-runner:1.6.10=classpath
org.jetbrains.kotlin:kotlin-daemon-client:1.6.10=classpath
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.6.10=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.6.10=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.6.10=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10=classpath
org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.6.10=classpath
org.jetbrains.kotlin:kotlin-native-utils:1.6.10=classpath
org.jetbrains.kotlin:kotlin-project-model:1.6.10=classpath
org.jetbrains.kotlin:kotlin-reflect:1.3.72=classpath
org.jetbrains.kotlin:kotlin-scripting-common:1.6.10=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.6.10=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.6.10=classpath
org.jetbrains.kotlin:kotlin-scripting-jvm:1.6.10=classpath
org.jetbrains.kotlin:kotlin-stdlib-common:1.3.72=classpath
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72=classpath
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72=classpath
org.jetbrains.kotlin:kotlin-stdlib:1.3.72=classpath
org.jetbrains.kotlin:kotlin-tooling-metadata:1.6.10=classpath
org.jetbrains.kotlin:kotlin-util-io:1.6.10=classpath
org.jetbrains.kotlin:kotlin-util-klib:1.6.10=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=classpath
org.jetbrains.trove4j:trove4j:20160824=classpath
org.jetbrains:annotations:13.0=classpath
org.json:json:20180813=classpath
org.jvnet.staxex:stax-ex:1.8=classpath
org.ow2.asm:asm-analysis:7.0=classpath
org.ow2.asm:asm-commons:7.0=classpath
org.ow2.asm:asm-tree:7.0=classpath
org.ow2.asm:asm-util:7.0=classpath
org.ow2.asm:asm:7.0=classpath
org.tensorflow:tensorflow-lite-metadata:0.1.0-rc1=classpath
empty=
