[tor-commits] [tor-browser-build/master] Bug 33558: Update TOPL to use updated Android toolchain

sysrqb at torproject.org sysrqb at torproject.org
Fri Jul 17 03:48:22 UTC 2020


commit 9907f974f6b8f0a1b9cb403e6f452b0481a8bc9f
Author: Georg Koppen <gk at torproject.org>
Date:   Fri Jun 12 09:24:30 2020 +0000

    Bug 33558: Update TOPL to use updated Android toolchain
    
    Based on a patch by sisbell, thanks!
    
    We add a new project to not interfere with Fennec toolchain
    requirements for now until we stop building Fennec-based Tor Browser
    for Android.
---
 .../0001-Bug-30318-Add-snowflake-support.patch     |  90 ++++++
 ...ug-33931-Filter-bridges-in-stream-by-type.patch |  76 ++++++
 projects/fenix-tor-onion-proxy-library/build       |  45 +++
 projects/fenix-tor-onion-proxy-library/config      |  31 +++
 .../gradle-dependencies-list.txt                   | 303 +++++++++++++++++++++
 .../fenix-tor-onion-proxy-library/gradle.patch     |  72 +++++
 6 files changed, 617 insertions(+)

diff --git a/projects/fenix-tor-onion-proxy-library/0001-Bug-30318-Add-snowflake-support.patch b/projects/fenix-tor-onion-proxy-library/0001-Bug-30318-Add-snowflake-support.patch
new file mode 100644
index 0000000..03e06aa
--- /dev/null
+++ b/projects/fenix-tor-onion-proxy-library/0001-Bug-30318-Add-snowflake-support.patch
@@ -0,0 +1,90 @@
+From e006e215b274b1b834e098b199ea2697bc11b0f1 Mon Sep 17 00:00:00 2001
+From: Georg Koppen <gk at torproject.org>
+Date: Sun, 10 May 2020 08:29:10 +0000
+Subject: [PATCH] Bug 30318: Add snowflake support
+
+
+diff --git a/android/build.gradle b/android/build.gradle
+index a8d9bdc..2392731 100644
+--- a/android/build.gradle
++++ b/android/build.gradle
+@@ -93,6 +93,9 @@ task copyPluggableTransports(type: Copy) {
+     rename { filename ->
+         filename.replace 'obfs4proxy', 'libObfs4proxy.so'
+     }
++    rename { filename ->
++        filename.replace 'snowflake-client', 'libSnowflake.so'
++    }
+ }
+ 
+ gradle.projectsEvaluated {
+diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+index 2405097..bcb6a37 100644
+--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
++++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+@@ -109,22 +109,33 @@ public final class TorConfigBuilder {
+         return this;
+     }
+ 
+-    public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportClient) throws IOException {
+-        if (pluggableTransportClient == null) {
++    public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportObfs, File pluggableTransportSnow) throws IOException {
++        if (pluggableTransportObfs == null  || pluggableTransportSnow == null) {
+             return this;
+         }
+ 
+-        if (!pluggableTransportClient.exists()) {
+-            throw new IOException("Bridge binary does not exist: " + pluggableTransportClient
++        if (!pluggableTransportObfs.exists()) {
++            throw new IOException("Obfs4proxy binary does not exist: " + pluggableTransportObfs
+                     .getCanonicalPath());
+         }
+ 
+-        if (!pluggableTransportClient.canExecute()) {
+-            throw new IOException("Bridge binary is not executable: " + pluggableTransportClient
++        if (!pluggableTransportSnow.exists()) {
++            throw new IOException("Snowflake binary does not exist: " + pluggableTransportSnow
+                     .getCanonicalPath());
+         }
+ 
+-        transportPlugin(pluggableTransportClient.getCanonicalPath());
++        if (!pluggableTransportObfs.canExecute()) {
++            throw new IOException("Obfs4proxy binary is not executable: " + pluggableTransportObfs
++                    .getCanonicalPath());
++        }
++
++        if (!pluggableTransportSnow.canExecute()) {
++            throw new IOException("Snowflake binary is not executable: " + pluggableTransportSnow
++                    .getCanonicalPath());
++        }
++
++
++        transportPlugin(pluggableTransportObfs.getCanonicalPath(), pluggableTransportSnow.getCanonicalPath());
+         return this;
+     }
+ 
+@@ -491,8 +502,9 @@ public final class TorConfigBuilder {
+         return transPort(settings.transPort());
+     }
+ 
+-    public TorConfigBuilder transportPlugin(String clientPath) {
+-        buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(clientPath).append('\n');
++    public TorConfigBuilder transportPlugin(String obfsPath, String snowPath) {
++        buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(obfsPath).append('\n');
++        buffer.append("ClientTransportPlugin snowflake exec ").append(snowPath).append(" -url https://snowflake-broker.azureedge.net/ -front ajax.aspnetcdn.com -ice stun:stun.l.google.com:19302\n");
+         return this;
+     }
+ 
+@@ -557,6 +569,9 @@ public final class TorConfigBuilder {
+                     case 3:
+                         reqBridgeType = "meek_lite";
+                         break;
++                    case 4:
++                        reqBridgeType = "snowflake";
++                        break;
+                     default:
+                         throw new IOException("Requested unknown transport type: " + bridgesType);
+                 }
+-- 
+2.26.2
+
diff --git a/projects/fenix-tor-onion-proxy-library/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch b/projects/fenix-tor-onion-proxy-library/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
new file mode 100644
index 0000000..e04e7d9
--- /dev/null
+++ b/projects/fenix-tor-onion-proxy-library/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
@@ -0,0 +1,76 @@
+From 9a2048f02d602cab7bd937c66a4d3f9c35fbfa9e Mon Sep 17 00:00:00 2001
+From: Matthew Finkel <sysrqb at torproject.org>
+Date: Thu, 30 Apr 2020 15:40:25 +0000
+Subject: [PATCH] Bug 33931 - Filter bridges in stream by type
+
+The InputStream contains a first-byte that indicates the format of the
+following datastream. If the first-byte is 1, then the following stream
+is a string of bridges that are separated by the '\n' byte. If the
+first-byte is not 1, then the following data stream is default bridges
+and that list should be filtered such that only the requested bridge
+type is used.
+---
+ .../thali/toronionproxy/TorConfigBuilder.java | 35 ++++++++++++++++---
+ 1 file changed, 31 insertions(+), 4 deletions(-)
+
+diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+index ab11948..2405097 100644
+--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
++++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+@@ -535,9 +535,32 @@ public final class TorConfigBuilder {
+     TorConfigBuilder addBridgesFromResources() throws IOException {
+         if(settings.hasBridges()) {
+             InputStream bridgesStream = context.getInstaller().openBridgesStream();
+-            int formatType = bridgesStream.read();
+-            if (formatType == 0) {
+-                addBridges(bridgesStream);
++            // The first byte encodes the type of bridges contained within the
++            // following data stream. Currently, it may contain either default bridges
++            // or user-provided bridges.
++            int bridgesType = bridgesStream.read();
++
++            // When bridgesType is 0x01, then the following stream is
++            // user-provided (custom) bridges.
++            // When bridgesType is one of: 0x02 or 0x03, then the Stream
++            // consists of default PT bridges. That list must be filtered, after
++            // parsing each bridge line, such that only the requested bridge type
++            // is used.
++            if (bridgesType != 1) {
++                // Terrible hack. Must keep in sync with tas::CustomTorInstaller::openBridgesStream
++                // and transports defined by TorConfigBuilder::transportPlugin().
++                String reqBridgeType;
++                switch (bridgesType) {
++                    case 2:
++                        reqBridgeType = "obfs4";
++                        break;
++                    case 3:
++                        reqBridgeType = "meek_lite";
++                        break;
++                    default:
++                        throw new IOException("Requested unknown transport type: " + bridgesType);
++                }
++                addBridges(bridgesStream, reqBridgeType);
+             } else {
+                 addCustomBridges(bridgesStream);
+             }
+@@ -548,12 +571,16 @@ public final class TorConfigBuilder {
+     /**
+      * Add bridges from bridges.txt file.
+      */
+-    private void addBridges(InputStream input) {
++    private void addBridges(InputStream input, String bridgeType) {
+         if (input == null) {
+             return;
+         }
+         List<Bridge> bridges = readBridgesFromStream(input);
+         for (Bridge b : bridges) {
++            if (!b.type.equals(bridgeType)) {
++                // This is not the transport we're looking for.
++                continue;
++            }
+             bridge(b.type, b.config);
+         }
+     }
+-- 
+2.20.1
+
diff --git a/projects/fenix-tor-onion-proxy-library/build b/projects/fenix-tor-onion-proxy-library/build
new file mode 100644
index 0000000..3e02fb4
--- /dev/null
+++ b/projects/fenix-tor-onion-proxy-library/build
@@ -0,0 +1,45 @@
+#!/bin/bash
+[% c("var/set_default_env") -%]
+output_dir=[% dest_dir %]/[% c('filename') %]
+gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
+
+# The download script assumes artifact package name is the complete URL path.
+# In some cases this is incorrect, so copy those artifacts to correct location
+cp -r $gradle_repo/guardianproject/gpmaven/master/* $gradle_repo
+cp -r $gradle_repo/dl/android/maven2/* $gradle_repo
+cp -r $gradle_repo/maven2/* $gradle_repo
+cp -r $gradle_repo/plugins-release/* $gradle_repo
+
+mkdir -p /var/tmp/build $output_dir
+
+[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
+tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
+
+# Patch projects
+cd /var/tmp/build/[% project %]-[% c('version') %]
+# Gradle patch provided so that when generating a gradle dependency list, the
+# build will pull down the correct android tool versions
+patch -p1 < $rootdir/gradle.patch
+patch -p1 < $rootdir/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
+patch -p1 < $rootdir/0001-Bug-30318-Add-snowflake-support.patch
+
+# Extract obfs4proxy from TorBrowser/Tor/PluggableTransports/obfs4proxy
+tar --strip-components=4 -xf $rootdir/[% c('input_files_by_name/obfs4') %]
+
+# Extract snowflake from TorBrowser/Tor/PluggableTransports/snowflake
+tar --strip-components=4 -xf $rootdir/[% c('input_files_by_name/snowflake') %]
+
+# Overwrite the obfs4proxy binary provided by Pluto and add Snowflake
+for d in external/pluto/bin/*; do
+  cp obfs4proxy $d/
+  cp snowflake-client $d/
+done
+
+rm obfs4proxy
+rm snowflake-client
+
+# Build Android Libraries and Apps
+gradle --offline --no-daemon -P androidplugin=3.6.0 -Dmaven.repo.local=$gradle_repo assembleRelease -x lint
+
+# Package
+cp universal/build/libs/* android/build/outputs/aar/* $output_dir
diff --git a/projects/fenix-tor-onion-proxy-library/config b/projects/fenix-tor-onion-proxy-library/config
new file mode 100644
index 0000000..1b0d051
--- /dev/null
+++ b/projects/fenix-tor-onion-proxy-library/config
@@ -0,0 +1,31 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %]'
+git_hash: aeb63ebd079b646a3ec1b7b84d755653baa467d7
+git_url: https://github.com/thaliproject/Tor_Onion_Proxy_Library.git
+git_submodule: 1
+
+var:
+  deps:
+    - build-essential
+    - unzip
+    - zip
+  container:
+    use_container: 1
+  # this should be updated when the list of gradle dependencies is changed
+  gradle_dependencies_version: 1
+
+input_files:
+  - project: container-image
+  - name: '[% c("var/compiler") %]'
+    project: '[% c("var/compiler") %]'
+  - project: obfs4
+    name: obfs4
+  - project: snowflake
+    name: snowflake
+  - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
+    name: gradle-dependencies
+    exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
+  - filename: gradle.patch
+  - filename: 0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
+  - filename: 0001-Bug-30318-Add-snowflake-support.patch
diff --git a/projects/fenix-tor-onion-proxy-library/gradle-dependencies-list.txt b/projects/fenix-tor-onion-proxy-library/gradle-dependencies-list.txt
new file mode 100644
index 0000000..30a2b8f
--- /dev/null
+++ b/projects/fenix-tor-onion-proxy-library/gradle-dependencies-list.txt
@@ -0,0 +1,303 @@
+# On how to update dependencies see projects/common/how-to-create-gradle-dependencies-list.txt
+# Don't forget to update var/gradle_dependencies_version when modifying this file
+sha256sum | url
+e6d2aee708189bc3d9dff647b7671d03750007223639db16146bd7382bfb7934 | https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.6.0/databinding-common-3.6.0.jar
+8d22885c700e913c8d17a373b96bbb05bc6d6a1c2848b0c57928e2de325bf158 | https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.6.0/databinding-common-3.6.0.pom
+bf2b0ed68625a159254198aeca04f4fe6a5b99638500c88b2d59b7ecd42b6f67 | https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.6.0/databinding-compiler-common-3.6.0.jar
+b450ad9617683054753abf126d3ebf2b2d99a3a4975355cdfc2cf31cef7ace67 | https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-compiler-common/3.6.0/databinding-compiler-common-3.6.0.pom
+10e1f9691dc9485d4c122d16b8ebb2c062a7675c983055bb28cec2496026e658 | https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.6.0/baseLibrary-3.6.0.jar
+099461a4afeb91d9852e4f6a69959403c328286840d991a001a068afc243bac6 | https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.6.0/baseLibrary-3.6.0.pom
+a0c36940b7351c2673bf3c96b6774017db4f1e8342ee063cafc3533cecd22707 | https://dl.google.com/dl/android/maven2/com/android/signflinger/3.6.0/signflinger-3.6.0.jar
+a8f9f10afa0b381b5e64eafafbd09015775d9934eea475ccaf3320431b4b2a50 | https://dl.google.com/dl/android/maven2/com/android/signflinger/3.6.0/signflinger-3.6.0.pom
+271ecbc906cda8dcd9e655ba0473129c3408a4189c806f616c378e6fd18fb3b7 | https://dl.google.com/dl/android/maven2/com/android/support/animated-vector-drawable/28.0.0/animated-vector-drawable-28.0.0.aar
+d4783f9cce5b193cb59486fa9fd9f06e828fe4d2d9a5744fab372b9a4a95ecca | https://dl.google.com/dl/android/maven2/com/android/support/animated-vector-drawable/28.0.0/animated-vector-drawable-28.0.0.pom
+a3a8e5230359746ed91801579b5fbe4668e3b1c4e6a14c7d67c8f58cb0311752 | https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/28.0.0/appcompat-v7-28.0.0.aar
+d9f2abe237eab1b651694c0d292dea9ec5b341ae70bfaafffbbb5d46b78c5e17 | https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/28.0.0/appcompat-v7-28.0.0.pom
+115bde87721f7334579b0c735f60dd7c98af1bb7f34010c5b0553b95dc351aa2 | https://dl.google.com/dl/android/maven2/com/android/support/asynclayoutinflater/28.0.0/asynclayoutinflater-28.0.0.aar
+790f1d0ca7c1a65d5afb40baf5b5423fa3163f6f90a47f3193ae0c8bb11c6e78 | https://dl.google.com/dl/android/maven2/com/android/support/asynclayoutinflater/28.0.0/asynclayoutinflater-28.0.0.pom
+93c258c8a09f531a267653829742c0f8f6da0e348b11cb8655b0855628f2d4f0 | https://dl.google.com/dl/android/maven2/com/android/support/collections/28.0.0/collections-28.0.0.jar
+f6c4146b8b2029e52971402d1c29ed59d2a98b4fab33ef8e6f44233ac0cf27ba | https://dl.google.com/dl/android/maven2/com/android/support/collections/28.0.0/collections-28.0.0.pom
+9dfacd80423dc979048fbaed83c0ee543c46259feb2417377e79a656888d3892 | https://dl.google.com/dl/android/maven2/com/android/support/coordinatorlayout/28.0.0/coordinatorlayout-28.0.0.aar
+cb83674d682f81daf7b2d43e965a18b83ef4f5bb02a69d14bb20175753361a4f | https://dl.google.com/dl/android/maven2/com/android/support/coordinatorlayout/28.0.0/coordinatorlayout-28.0.0.pom
+87feffe742b8d62ca8a9833abe564838bf6a672e31c7ad1306ec4006adf90d21 | https://dl.google.com/dl/android/maven2/com/android/support/cursoradapter/28.0.0/cursoradapter-28.0.0.aar
+5727103ce28357bce8f74655c0994508d55d060f9ec6dafba0103e7fe55f275b | https://dl.google.com/dl/android/maven2/com/android/support/cursoradapter/28.0.0/cursoradapter-28.0.0.pom
+98db03845f994e08248bf701c1ff0ccaa12e70f94251ec9272900f0f694e072b | https://dl.google.com/dl/android/maven2/com/android/support/customview/28.0.0/customview-28.0.0.aar
+187c2729dfd51ef8db5963598d14da67bad5ceb4ea5252f382044249327010e5 | https://dl.google.com/dl/android/maven2/com/android/support/customview/28.0.0/customview-28.0.0.pom
+47cdcd3e9302b7b064923f05487a5c03babbd9bbda4726b71e97791fab5d4779 | https://dl.google.com/dl/android/maven2/com/android/support/documentfile/28.0.0/documentfile-28.0.0.aar
+5ffda693e34d152463f8a9a6c00407fb11747a2271c278e082a287abad3f9cba | https://dl.google.com/dl/android/maven2/com/android/support/documentfile/28.0.0/documentfile-28.0.0.pom
+8f6809afae4793550c37461c9810e954ae6a23dbb4d23e5333bf18148df1150a | https://dl.google.com/dl/android/maven2/com/android/support/drawerlayout/28.0.0/drawerlayout-28.0.0.aar
+424f2d0b4a3ac46e0ad5349192ad0ecdc0bfcb10ed91767a08230cd16a3cfe36 | https://dl.google.com/dl/android/maven2/com/android/support/drawerlayout/28.0.0/drawerlayout-28.0.0.pom
+7bc7ee86a0db39a4b51956f3e89842d2bd962118d57d779eb6ed6b34ba0677ea | https://dl.google.com/dl/android/maven2/com/android/support/interpolator/28.0.0/interpolator-28.0.0.aar
+296b5f5eaa5cb38f67bca092aaf56bf6d23a13aa07cd81a377f861f52d609f9b | https://dl.google.com/dl/android/maven2/com/android/support/interpolator/28.0.0/interpolator-28.0.0.pom
+920b85efd72dc33e915b0f88a883fe73b88483c6df8751a741e17611f2460341 | https://dl.google.com/dl/android/maven2/com/android/support/loader/28.0.0/loader-28.0.0.aar
+9a9bad607f4b946d1503fe9b751af156da361e642e86f4fb5355b89b9557e8df | https://dl.google.com/dl/android/maven2/com/android/support/loader/28.0.0/loader-28.0.0.pom
+d287c823af5fdde72c099fcfc5f630efe9687af7a914343ae6fd92de32c8a806 | https://dl.google.com/dl/android/maven2/com/android/support/localbroadcastmanager/28.0.0/localbroadcastmanager-28.0.0.aar
+351a941335421113dff16b1ff9d4618bbcb093fd1508fc8639f18c5533313091 | https://dl.google.com/dl/android/maven2/com/android/support/localbroadcastmanager/28.0.0/localbroadcastmanager-28.0.0.pom
+4be8a812d73e4a80e35b91ceae127def3f0bb9726bf3bc439aa0cc81503f5728 | https://dl.google.com/dl/android/maven2/com/android/support/print/28.0.0/print-28.0.0.aar
+e15dd914e64f5cfcbd91aeb1b921fd6ead39c21926e171a4955dd12c849c6e78 | https://dl.google.com/dl/android/maven2/com/android/support/print/28.0.0/print-28.0.0.pom
+d1d234f66a1b36a9aee9b94fa6c66f97128c0828078c8e889e9037ec898cd600 | https://dl.google.com/dl/android/maven2/com/android/support/slidingpanelayout/28.0.0/slidingpanelayout-28.0.0.aar
+be47ac0d8fd8bdd783071596c5ea271362484752d282fb8c3421d1853ad02619 | https://dl.google.com/dl/android/maven2/com/android/support/slidingpanelayout/28.0.0/slidingpanelayout-28.0.0.pom
+5d5b9414f02d3fa0ee7526b8d5ddae0da67c8ecc8c4d63ffa6cf91488a93b927 | https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/28.0.0/support-annotations-28.0.0.jar
+a086481e014492fd3a4d5f4459875b8a70a201258f0b225836212ee29df0091a | https://dl.google.com/dl/android/maven2/com/android/support/support-annotations/28.0.0/support-annotations-28.0.0.pom
+e17e3b01dbea3f9ea1c86943292f903ca93d2231c6242e456e0b6a9c5817118a | https://dl.google.com/dl/android/maven2/com/android/support/support-compat/28.0.0/support-compat-28.0.0.aar
+6b79a06c2282fc0f961cfd826a26ad41ff5c457b0c11d9a6b6a63e51f53d961a | https://dl.google.com/dl/android/maven2/com/android/support/support-compat/28.0.0/support-compat-28.0.0.pom
+bbc7f65fc95649464733af373361532ab5f9f3b749c3badaa2bbf27e574b6c6f | https://dl.google.com/dl/android/maven2/com/android/support/support-core-ui/28.0.0/support-core-ui-28.0.0.aar
+708ad4a6a48ce625aee395fd0625ae5441fee8f0e25861406603f765e679b544 | https://dl.google.com/dl/android/maven2/com/android/support/support-core-ui/28.0.0/support-core-ui-28.0.0.pom
+c81e1e98ca3cb2edae002c69cf35b22aec364b8cb2f1042c97e206eb5790ac41 | https://dl.google.com/dl/android/maven2/com/android/support/support-core-utils/28.0.0/support-core-utils-28.0.0.aar
+86a744b8739e8b354d0ecaec35dd943dea9a66f0296a3a9c1eb384fc93a4eaf7 | https://dl.google.com/dl/android/maven2/com/android/support/support-core-utils/28.0.0/support-core-utils-28.0.0.pom
+3772fc738ada86824ba1a4b3f197c3dbd67b7ddcfe2c9db1de95ef2e3487a915 | https://dl.google.com/dl/android/maven2/com/android/support/support-fragment/28.0.0/support-fragment-28.0.0.aar
+d24bdade5b77b26b82d39beda9fa0f42bcdf61cb5661a3c66ddfde3f77869b07 | https://dl.google.com/dl/android/maven2/com/android/support/support-fragment/28.0.0/support-fragment-28.0.0.pom
+f658986d968172bccfed28578471c96050780fe5e133861e4d331069cc373f4d | https://dl.google.com/dl/android/maven2/com/android/support/support-vector-drawable/28.0.0/support-vector-drawable-28.0.0.aar
+1e54416142b0f1274db09bbea1808f5cf9311c895bb0d84adaa18a7b5132aadc | https://dl.google.com/dl/android/maven2/com/android/support/support-vector-drawable/28.0.0/support-vector-drawable-28.0.0.pom
+a3b41f7f6730866b49865e86e49f988d4858699765f534300fb2ff5f9325e712 | https://dl.google.com/dl/android/maven2/com/android/support/swiperefreshlayout/28.0.0/swiperefreshlayout-28.0.0.aar
+c2e08d32b75d98a844f20be02510c830f7e5b53f64907af2270a898d59dc872f | https://dl.google.com/dl/android/maven2/com/android/support/swiperefreshlayout/28.0.0/swiperefreshlayout-28.0.0.pom
+60eb1cb08f71b65c3f6123135e03ebeb5930b5e126e1e5b2ac91b386908c9d02 | https://dl.google.com/dl/android/maven2/com/android/support/versionedparcelable/28.0.0/versionedparcelable-28.0.0.aar
+e7d6f726e702b418998fab6284df2f509f5acdf9203ced37c8d1274f9e38447b | https://dl.google.com/dl/android/maven2/com/android/support/versionedparcelable/28.0.0/versionedparcelable-28.0.0.pom
+013c4c53058758ec104dbae970be58159f75dfe342ba8b937d15ff5282e35ffc | https://dl.google.com/dl/android/maven2/com/android/support/viewpager/28.0.0/viewpager-28.0.0.aar
+080bba6573f6a4a9b2af443bf4ecb2a7ac4302a027274cc9bf9fdd51f409430e | https://dl.google.com/dl/android/maven2/com/android/support/viewpager/28.0.0/viewpager-28.0.0.pom
+f7a0143fa51920ea9289ebfc11349fcb4bc70cebd1f6b746de2998fa7fdf5f2d | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.6.0/crash-26.6.0.jar
+b98df4993e7f76236fd28b6b73f62b2349f0399e780d50c8743e708c08f9b073 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/crash/26.6.0/crash-26.6.0.pom
+fe69b530190d1be5d375b4d27c1831f1921ee023bcc2a4779a692a11b883a5d1 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.6.0/protos-26.6.0.jar
+65965684318c80df0f40e90f9a50800d8c57e9b3eda48096f9990b769f93524b | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/26.6.0/protos-26.6.0.pom
+d897e7af0116944be7c4b917831527155fa3723f1fb77f45ba84537c9923cd99 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.6.0/shared-26.6.0.jar
+ade7c62a6a19e93635ad78bb8f4bac080e32a1ecc7423c146522e013472f672f | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/shared/26.6.0/shared-26.6.0.pom
+29720b801195d7809a8e91da9dbaee2305320f28777c7e9649da6b2392dc48a7 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.6.0/tracker-26.6.0.jar
+9835e19c8b5ba3660f1778d27a82f03c4ac944cb3d22f14881b372ae251246e2 | https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/tracker/26.6.0/tracker-26.6.0.pom
+fb242380c243cd2069fd992b2803cca4a9e4366157cd327984eab75eb9e9a9e7 | https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.6.0/annotations-26.6.0.jar
+827af30b20f5c227cba52f365d685e92ff08c45e2d4f37fca57eb5f951006dd2 | https://dl.google.com/dl/android/maven2/com/android/tools/annotations/26.6.0/annotations-26.6.0.pom
+f74465e394c73d71f0f9053f3ebc90999d06bea3ad7c1fa3576b6a3a088d0db3 | https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.6.0-6040484/aapt2-3.6.0-6040484-linux.jar
+c616e4a81a19bf74fb98f072383b316da8be882c3e9efce7fee82b802da5ccd5 | https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/3.6.0-6040484/aapt2-3.6.0-6040484.pom
+fac0435e08898f89eeeb9ca236bea707155ff816c12205ced285ad53604133ca | https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.jar
+a24bdd4e8e374fdcd8cef8d77ea723f147ccd0f25dc6de4fbe290039be904339 | https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.pom
+1fc041276d0e090b6ac99f26e8ab59d1c2257293bc88ee49ff074e69345bc665 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.6.0/apksig-3.6.0.jar
+2cf2d4a8fbe06e60026b6f2f90a7d6c73b7d3f66abbb984e6a1740b85776a028 | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/3.6.0/apksig-3.6.0.pom
+8126c2fef74b0ebd1d6e647c3a84ef4f3e9a60231952abc74e4a097a6449374a | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.6.0/apkzlib-3.6.0.jar
+055661a9e3089fb7154e0f358281a7406b1da4bc6d61dea1a0e19231239f36cf | https://dl.google.com/dl/android/maven2/com/android/tools/build/apkzlib/3.6.0/apkzlib-3.6.0.pom
+74cc34c112d8586cedb0f94a9728b0402492436e10c6493ee6da60308be0b262 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.6.0/builder-3.6.0.jar
+f4485a00d7a5c792cb5f2a8c5c8446bada583570f25182dbf84d700e30441386 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/3.6.0/builder-3.6.0.pom
+e18b976ea7620026259eeae4dc0378bd2ff5388dd91b8201113b2089b281ae3f | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.6.0/builder-model-3.6.0.jar
+369428537e6613f4e229cbd70360aeff18a628c41566a7dd5b3d143808eef41a | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-model/3.6.0/builder-model-3.6.0.pom
+ac90b88ce12f9d0ae0f9845ff2ad9bdf65aa07d3e7b4b0515794cffe4b603fe8 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.6.0/builder-test-api-3.6.0.jar
+af0c92edfbc6549bebb636e82eb8a851c85e12bc4bcdfa2b81161bbb9e994050 | https://dl.google.com/dl/android/maven2/com/android/tools/build/builder-test-api/3.6.0/builder-test-api-3.6.0.pom
+20f2e347e9b4ccd9cdcdc2f6e1956ba3cc1641991fbbadc1f86ca60dd6ca64e1 | https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.10.3/bundletool-0.10.3.jar
+ad9c1614680f29b5c39018c32e2b44d3adfc52d667e7bf29ca64eb2feb697034 | https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/0.10.3/bundletool-0.10.3.pom
+bdd59f532634d4fde2b3a6864bdc61058d94a62a5310f431f75b6f571d00d196 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.6.0/gradle-3.6.0.jar
+ee16c99fea79a677092828264e01961816cef6ef4fa1f5702db6a58093dc0157 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.6.0/gradle-3.6.0.pom
+841cfc9f6224c2d12e761ac3a305b268e0ee735b0ddd7e70cfebbf5a2df9cfa6 | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.6.0/gradle-api-3.6.0.jar
+69d6a67a8f84d03ba331dc9e228bd477c903f3643bde330c8c3a1cc72e8e1b7a | https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle-api/3.6.0/gradle-api-3.6.0.pom
+0930bb58d94e09c61161576ca38853b3dba4ac9320fcf323f9b31bc58a18afda | https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta08/jetifier-core-1.0.0-beta08.jar
+c39f0d195566b2ca9e1c954a665a553dc60320d4022acad82fd56a31a6d395d5 | https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta08/jetifier-core-1.0.0-beta08.pom
+689e5637b0b61b460f447064ff62ed4267203a26a70cf071fa34d7c3faba5366 | https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta08/jetifier-processor-1.0.0-beta08.jar
+be08f1215cd2bb5cbd22b1146ea92e0f14558fafc1603cbef7553b3a6677984c | https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta08/jetifier-processor-1.0.0-beta08.pom
+9b2709e8f64978960a701675fa8d6e7dc5109ec6ddf1bb301c9ebf88545c9bc6 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.6.0/manifest-merger-26.6.0.jar
+fc1c1056089f4418ac0de5aef2c797a38a39ce8cd70cacb95269b834625fcde8 | https://dl.google.com/dl/android/maven2/com/android/tools/build/manifest-merger/26.6.0/manifest-merger-26.6.0.pom
+f83adfad2f11074d97e6b0706872a60ec54c6ff42d6554bec1c900d9077825d5 | https://dl.google.com/dl/android/maven2/com/android/tools/common/26.6.0/common-26.6.0.jar
+4f9c30f02a6ee14fe175c1dd53274fd615d8e11dc22fb9912adcb58a69bb0bca | https://dl.google.com/dl/android/maven2/com/android/tools/common/26.6.0/common-26.6.0.pom
+62eab1a996349a50e1e2a38f9277ebcebd2e10b1614b15f0ee8be1e1aedb8503 | https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.6.0/ddmlib-26.6.0.jar
+764cf4d884e271972c3a1ea6fbc27fa6fcb7d4eb38787fbb40fa91f9f57a1add | https://dl.google.com/dl/android/maven2/com/android/tools/ddms/ddmlib/26.6.0/ddmlib-26.6.0.pom
+837f7e464ab3bc491637869950ba56a7cc61977590d2d8ea85801cef3de253bb | https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.6.0/dvlib-26.6.0.jar
+b19445e91383f59fb54c75e053d389a447eeac6c606b98420fcd74e044c0d95b | https://dl.google.com/dl/android/maven2/com/android/tools/dvlib/26.6.0/dvlib-26.6.0.pom
+452a2589b6ba40db238cff741fb0f01de83bb9e40b5a58a6f597473abb35900f | https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/intellij-core/26.6.0/intellij-core-26.6.0.jar
+c84395f45a7d7e87f2f484e6e8180860cc92e464d2f344a90b8d2202520c99fe | https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/intellij-core/26.6.0/intellij-core-26.6.0.pom
+2c13673bbd2f88c0cdd1df45a4ee63d0e0322c39796103c7abf175fcafe9ba35 | https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/kotlin-compiler/26.6.0/kotlin-compiler-26.6.0.jar
+712c98251cf99c8d47ae32968fc3a46b0f1e376c744bc2409a28a0c122ba9c17 | https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/kotlin-compiler/26.6.0/kotlin-compiler-26.6.0.pom
+09768c6b91a9cbd615074faf903b8010870f3b64a46a710718eecfce0edb21bf | https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.6.0/uast-26.6.0.jar
+3680ff0f4ee339b0e05865f4057a2d2321b3adaf4bcddeb732314fa7f3fb2bc7 | https://dl.google.com/dl/android/maven2/com/android/tools/external/org-jetbrains/uast/26.6.0/uast-26.6.0.pom
+951e8a3832d8f8cb7c10a41c6bd45c16a7a7ae7cc72958ac734f9db0650f61f9 | https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.6.0/layoutlib-api-26.6.0.jar
+476d3579571a4588f8187024f0043b043917a9b102c2c9f1f8fd6fc0085ab7df | https://dl.google.com/dl/android/maven2/com/android/tools/layoutlib/layoutlib-api/26.6.0/layoutlib-api-26.6.0.pom
+1efa62b21a76ac2ec98c213937a846dab30f95082fcca806605b0215f9bba6d6 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.6.0/lint-26.6.0.jar
+235bd153831ba5180c3487ffb9d20364cd402b72aa38429dd87bdb6cdb4a2227 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint/26.6.0/lint-26.6.0.pom
+b5e1235b181a5a68a14de7adc88997c66cda26036895fc771e87aca63267f2a4 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.6.0/lint-api-26.6.0.jar
+54ab64c262cd2762fb2a2c4aead50a23c3ab500cb0f285864b4c7789a2898df5 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-api/26.6.0/lint-api-26.6.0.pom
+941a2cd8c4b88b02abad9e7fc8219a65642ec4222f531bc0dbb69ae2b4f97147 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.6.0/lint-checks-26.6.0.jar
+12a8ff3487f7d014492354942d4e88b20925ae6b6679ddf4d426131936e51741 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.6.0/lint-checks-26.6.0.pom
+9298f4493601af4ba0ccd8f0623ec5cdb7c604c2fea59c3ddf1a82dab824b4c4 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle/26.6.0/lint-gradle-26.6.0.jar
+40d80c18a03c236c1ed50dbbb792266b7348b280fcebfce5bf3e41a7f929ecb9 | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle/26.6.0/lint-gradle-26.6.0.pom
+f661cca9e27b7029cc074b2b7167d1a6882abeb5a9f55efb8005a05e5ef6e11f | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.6.0/lint-gradle-api-26.6.0.jar
+fe047cd786c3d1d32a92b2afe45d6c1ad8fefc214216136ffa0de491bb1cd51b | https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.6.0/lint-gradle-api-26.6.0.pom
+da6c7429828e8149702d43b01bb32a57cf9687db6f407552585ba5f26bdf650b | https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.6.0/repository-26.6.0.jar
+d583cc98e2215aa1d558b577435696c5d279674d48922e7095fc4f1dda0f5137 | https://dl.google.com/dl/android/maven2/com/android/tools/repository/26.6.0/repository-26.6.0.pom
+2bdd20936544902649d85d5db4a538cca888bc9b079ca49886476f7eea270dbc | https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.6.0/sdk-common-26.6.0.jar
+353c976f0c5d38f9dc64f571e1ca0a2c57ef0b3dbe76f5bbe062dc396fe7c8a3 | https://dl.google.com/dl/android/maven2/com/android/tools/sdk-common/26.6.0/sdk-common-26.6.0.pom
+8dae7e1f611f12c13e660e5245ade4311bb111976c191eacf6ae907a66a3e37d | https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.6.0/sdklib-26.6.0.jar
+709acf0644fa2d6ea5ff226b902f49b5503dd76a13b2637b5e9216342987e50d | https://dl.google.com/dl/android/maven2/com/android/tools/sdklib/26.6.0/sdklib-26.6.0.pom
+3b9d663a8c1fc4fdc812d729961532fb943fd30e5c9e276121f59cdf6a68e665 | https://dl.google.com/dl/android/maven2/com/android/zipflinger/3.6.0/zipflinger-3.6.0.jar
+3b46e78152954f6bde5a6d6c219508a8c1229f858e685c156314f1f82e76e1ce | https://dl.google.com/dl/android/maven2/com/android/zipflinger/3.6.0/zipflinger-3.6.0.pom
+5a12ac3f190fc2cfab73435d859511220b13eb38f8784a530d06395969cf8c59 | https://raw.githubusercontent.com/guardianproject/gpmaven/master/org/torproject/tor-android-binary/0.3.5.8-rc-v2/tor-android-binary-0.3.5.8-rc-v2.aar
+177603e3dce43e843799fe0284f8afe8121bb0cdbcdd34cd06bc09f7bd3e6c6f | https://raw.githubusercontent.com/guardianproject/gpmaven/master/org/torproject/tor-android-binary/0.3.5.8-rc-v2/tor-android-binary-0.3.5.8-rc-v2.pom
+e8b4151ae1679f1abe7a14ee371ac9b3c651ae7b63290d1f586bdd0f78face9a | https://repo.maven.apache.org/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar
+d49d179f707d3f3a00b2a7d36136b54aa8d44fa22770703cd82fe52fb39e22eb | https://repo.maven.apache.org/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
+05f740c6648165db00cf618dd56c200c4725e358e6d54f5853e0bec15734ea0a | https://repo.maven.apache.org/maven2/com/google/auto/auto-parent/6/auto-parent-6.pom
+b48b04ddba40e8ac33bf036f06fc43995fc5084bd94bdaace807ce27d3bea3fb | https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.jar
+1c76cd462fc96e7aa96dc70ce82f0d54063d6df16db35c9c7d9cc0d1a99d3fff | https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.pom
+27b640c82179f5cff62009c0b72033d9bc60f60e9902a66802274b7fe37fc81c | https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-parent/1.6.2/auto-value-parent-1.6.2.pom
+feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom
+766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7 | https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
+19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe | https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.pom
+233a0149fc365c9f6edbd683cfe266b19bdc773be98eabdaf6b3c924b48e7d81 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
+b8308557a7fccc92d9fe7c8cd0599258b361285d2ecde7689eda98843255a092 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.pom
+8f1fec72b91a71ea39ec39f5f778c4d1124b6b097c6d55b3a50b554a52237b27 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.5/gson-parent-2.8.5.pom
+2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://repo.maven.apache.org/maven2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar
+47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://repo.maven.apache.org/maven2/com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.pom
+757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://repo.maven.apache.org/maven2/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar
+7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://repo.maven.apache.org/maven2/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.pom
+6ebd22ca1b9d8ec06d41de8d64e0596981d9607b42035f9ed374f9de271a481a | https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.jar
+5e0258ea1ba4e51a133742680bc22448f7ab214be4073e8619f645ef1be42dd5 | https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.2.0/error_prone_annotations-2.2.0.pom
+10a5949aa0f95c8de4fd47edfe20534d2acefd8c224f8afea1f607e112816120 | https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar
+3edce6b711ba368efe16b9b7aacb0214fbd648414cb9b965953a2e7ed89a819a | https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.pom
+c460902ddf5ece68832c6b271ce52a0928b05cf3a6ac81a8f548c73cbd541138 | https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0.pom
+767525d9a81129cd081968382980336327be4162b1e2251a182911daa733c123 | https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1.pom
+cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://repo.maven.apache.org/maven2/com/google/google/1/google-1.pom
+a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26 | https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
+e96042ce78fecba0da2be964522947c87b40a291b5fd3cd672a434924103c4b9 | https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
+4a5aa70cc968a4d137e599ad37553e5cfeed2265e8c193476d7119036c536fe7 | https://repo.maven.apache.org/maven2/com/google/guava/guava/27.1-jre/guava-27.1-jre.jar
+bd99d75006131ae25c9860a1d63e84e36371f112fdb0c2fe3d5d6ab38e9eb271 | https://repo.maven.apache.org/maven2/com/google/guava/guava/27.1-jre/guava-27.1-jre.pom
+f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04 | https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/26.0-android/guava-parent-26.0-android.pom
+d3610165c6de2b4d8d6418487717b63c52b5a39c5e35a553e24873ecb60e0628 | https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/27.1-jre/guava-parent-27.1-jre.pom
+b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99 | https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
+18d4b1db26153d4e55079ce1f76bb1fe05cdb862ef9954a88cbcc4ff38b8679b | https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
+2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6 | https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar
+f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.pom
+c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
+efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
+c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs-parent/1.1/jimfs-parent-1.1.pom
+dce7e66b32456a1b1198da0caff3a8acb71548658391e798c79369241e6490a4 | https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0.jar
+83f17ba86c5fa1a15a3a3c8030d4ce42ef21c1d39b65db6cc004a8eeb2c59406 | https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.4.0/protobuf-java-3.4.0.pom
+4189e0be5ab15cf2330f70b24fbdc75ca37514f188388fce8580ce16a9a68052 | https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.jar
+89c43073e7eaa0eaba72a4a36ae1b6bfdfe5d81bb9d0e156aee05e4a72de3cb8 | https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
+24909c552842c0eb7a4c769d631a43cbef5a9a10c1640f2bdbd1ea149c573a47 | https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.4.0/protobuf-parent-3.4.0.pom
+4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569 | https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
+bdb8db7012d112a6e3ea8fdb7c510b300d99eff0819d27dddba9c43397ea4cfb | https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.pom
+cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.jar
+b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
+daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636 | https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
+c91ab5aa570d86f6fd07cc158ec6bc2c50080402972ee9179fe24100739fbb20 | https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom
+20ef4b82e43ff7c652281a21313cf3b941092467add3fa73509c26f6969efdab | https://repo.maven.apache.org/maven2/com/squareup/javapoet/1.10.0/javapoet-1.10.0.jar
+1690340a222279f2cbadf373e88826fa20f7f3cc3ec0252f36818fed32701ab1 | https://repo.maven.apache.org/maven2/com/squareup/javapoet/1.10.0/javapoet-1.10.0.pom
+fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://repo.maven.apache.org/maven2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar
+e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://repo.maven.apache.org/maven2/com/squareup/javawriter/2.5.0/javawriter-2.5.0.pom
+1d8518e3ac7532a104e4f7be77def37c982e530723c6bdb3d67708cce2b0c2c4 | https://repo.maven.apache.org/maven2/com/sun/activation/all/1.2.0/all-1.2.0.pom
+993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce | https://repo.maven.apache.org/maven2/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar
+f879b6e945854c6900b0dbee1c8384d7ab3de7e157fd7ac84937405c416d2a5e | https://repo.maven.apache.org/maven2/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.pom
+6f83d3c85fdca9ef24010cb2f652aab1a508bff6331c087b60d0301782b78c6f | https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/3.0.7/istack-commons-3.0.7.pom
+6443e10ba2e259fb821d9b6becf10db5316285fc30c53cec9d7b19a3877e7fdf | https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar
+6d704e450a816a45bce806ba22c22fe83d8e8dcf7a71517603de630a1726809f | https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.pom
+c2204f54b43593808c9af6502865ee71679823156dabdef341e71d35662c7aa0 | https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/2.3.1/jaxb-bom-ext-2.3.1.pom
+f699ef37ec7966e284742dfca83075221179041a9a49aef7991280192604462d | https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/2.3.1/jaxb-parent-2.3.1.pom
+b56383eb4d43498b145d379e2a93d5fcdcd8ff9291f89b58b82cb91658dbf14c | https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/2.3.1/jaxb-runtime-parent-2.3.1.pom
+7a8473e935504841c606686d84e9c017a739ac2c144fde687aa003a7dd44de7f | https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/2.3.1/jaxb-txw-parent-2.3.1.pom
+785861db11ca1bd0d1956682b974ad73eb19cd3e01a4b3fa82d62eca97210aec | https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar
+bbc796ab84a6778a751c2eff1136078abd2b4d35b5047062804f3582ef3c42c8 | https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.pom
+cfb8cdad4c0dd05ed8cacbe146bf1718764403947b9de8348e1bfd42f62ea73e | https://repo.maven.apache.org/maven2/com/sun/xml/fastinfoset/fastinfoset-project/1.2.15/fastinfoset-project-1.2.15.pom
+74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://repo.maven.apache.org/maven2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar
+953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://repo.maven.apache.org/maven2/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom
+43fdef0b5b6ceb31b0424b208b930c74ab58fac2ceeb7b3f6fd3aeb8b5ca4393 | https://repo.maven.apache.org/maven2/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar
+da2926f3c8be898643cc10acdec6de0b0351a57fb2735770fa0177b06ade71b9 | https://repo.maven.apache.org/maven2/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.pom
+91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff | https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar
+943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa | https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom
+88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06 | https://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar
+12b20cf922773445c3445c2883cbf671fa982111e9bf9f875020f9313b3814b1 | https://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.pom
+cd1beaa4560dc4dfdb826b9d809e464db22526dfb54264bae78a6ff7efb08e1f | https://repo.maven.apache.org/maven2/javax/xml/bind/jaxb-api-parent/2.3.1/jaxb-api-parent-2.3.1.pom
+281440811268e65d9e266b3cc898297e214e04f09740d0386ceeb4a8923d63bf | https://repo.maven.apache.org/maven2/net/java/jvnet-parent/1/jvnet-parent-1.pom
+1af699f8d9ddab67f9a0d202fbd7915eb0362a5a6dfd5ffc54cafa3465c9cb0a | https://repo.maven.apache.org/maven2/net/java/jvnet-parent/5/jvnet-parent-5.pom
+26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar
+7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.pom
+f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://repo.maven.apache.org/maven2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
+31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://repo.maven.apache.org/maven2/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
+75bc89695fa66e75374ecda439b802406f0ab1d826dd386eed0a23b1f0a9d264 | https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-base/6.0.3/proguard-base-6.0.3.jar
+2a823d79f2675582a988d539466d1b175e939782efbe0f6e61f06cb165ed4907 | https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-base/6.0.3/proguard-base-6.0.3.pom
+cc12b1168e521491dd0e687cfebec11a4af874b22af70e10cf2a05b47ca00c8f | https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-gradle/6.0.3/proguard-gradle-6.0.3.jar
+5a5c7317d68ce80d1d40c9d8bd4e38814d42d1b16c265146e333634833a35a57 | https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-gradle/6.0.3/proguard-gradle-6.0.3.pom
+d87266bfd2312c3b036c4ac709310afa35c448ceb18027c3b87a33d03c6de0a0 | https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-parent/6.0.3/proguard-parent-6.0.3.pom
+a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://repo.maven.apache.org/maven2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
+8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://repo.maven.apache.org/maven2/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
+401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://repo.maven.apache.org/maven2/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5.3.pom
+ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://repo.maven.apache.org/maven2/org/apache/apache/13/apache-13.pom
+36c2f2f979ac67b450c0cb480e4e9baf6b40f3a681f22ba9692287d1139ad494 | https://repo.maven.apache.org/maven2/org/apache/apache/15/apache-15.pom
+9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://repo.maven.apache.org/maven2/org/apache/apache/16/apache-16.pom
+7831307285fd475bbc36b20ae38e7882f11c3153b1d5930f852d44eda8f33c17 | https://repo.maven.apache.org/maven2/org/apache/apache/18/apache-18.pom
+4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom
+2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar
+b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.12/commons-compress-1.12.pom
+467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/25/commons-parent-25.pom
+3a2e69d06d641d1f3b293126dc9e2e4ea6563bf8c36c87e0ab6fa4292d04b79c | https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/34/commons-parent-34.pom
+7098a1ab8336ecd4c9dc21cbbcac869f82c66f64b8ac4f7988d41b4fcb44e49a | https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/35/commons-parent-35.pom
+87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/commons-parent-39.pom
+c03f813195e7a80e3608d0ddd8da80b21696a4c92a6a2298865bf149071551c7 | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
+7efc1241e73e7fbb268bfd33242d11ebd3ca07061d7d85f2962dc32a0f0b8855 | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.pom
+b042b41f2391edb00d35f7f4e509aed2123648c1d246ce58d0f7b905c9fe1f73 | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-client/4.5.6/httpcomponents-client-4.5.6.pom
+61e9427d4be326c307a7f16ba828d1cb3b14713c9b04fc8ba992a58f376c3136 | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-core/4.4.10/httpcomponents-core-4.4.10.pom
+caaf967d94afb21753f36082c6086206bd1f48825ff596932cceba72b65d39fa | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcomponents-parent/10/httpcomponents-parent-10.pom
+78ba1096561957db1b55200a159b648876430342d15d461277e62360da19f6fd | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
+c5c12066df2b3b88a89a2c8602b81ea9a61627e976e5129eea1899ebbaea392b | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.pom
+0b2b1102c18d3c7e05a77214b9b7501a6f6056174ae5604e0e256776eda7553e | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.jar
+dfbfd6ffe2a784ca9817c46365aa7f8a578320b805bde39d6f55a0b09d8aa8ca | https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpmime/4.5.6/httpmime-4.5.6.pom
+7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar
+321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://repo.maven.apache.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.pom
+963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar
+8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.pom
+64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a | https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.jar
+dc4cd438a36462d013c2338c8e206d102a322a00f33729e8955ee219859c9ede | https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.5.2/checker-qual-2.5.2.pom
+51d6c4e71782e85674239189499854359d380fb75e1a703756e3aaa5b98a5af0 | https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-all/2.4.15/groovy-all-2.4.15.jar
+fc0d535d7bdb7ca90562321c2e8e2a35c377f113c6dd0b2062282e1f4676367a | https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-all/2.4.15/groovy-all-2.4.15.pom
+92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53 | https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
+e956ab5d2eb48fabae12300d0cd2d3294d4a2a41abc2068c23cb4d60ad76cbe5 | https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.pom
+18a03df16e2a184c582db7b125633c15fb7714027a84c1b532d72933dc08b81f | https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-parent/1.17/animal-sniffer-parent-1.17.pom
+fc648dcdc404f8bf66e0583914ecf980176618201227bea114fae85043cb755e | https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/40/mojo-parent-40.pom
+6cc1266cf306557b4f2d09cbd8cd6e75b5ef0c5773ca4ef763d4f730df947b64 | https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/2.3.1/jaxb-bom-2.3.1.pom
+45fecfa5c8217ce1f3652ab95179790ec8cc0dec0384bca51cbeb94a293d9f2f | https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar
+f8101b86157fbfc01949ffdc7c59ea71ca23b7ece25f6a79061fe01cb750ff00 | https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.pom
+34975dde1c6920f1a39791142235689bc3cd357e24d05edd8ff93b885bd68d60 | https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar
+4714d46cacf702ab2cd478d6048c5d9cc57abdb55f4c07b6b7aa72799e02d36c | https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.pom
+1345f11ba606d15603d6740551a8c21947c0215640770ec67271fe78bea97cf5 | https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar
+47b23a79fe336b741b82434c6e049d68165256e405e75c10921fd72fa8a65d8d | https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
+ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar
+965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom
+143e715c10ff6d65eb5a7695be7b696c6e013702dff103d23ba54760bf93867b | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.3.61/kotlin-reflect-1.3.61.jar
+b2b8add63c5ce9b67571ed469f7c37fd043ee2420206255e96a146018d8e2fa0 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.3.61/kotlin-reflect-1.3.61.pom
+e51e512619a7e7650a30eb4eb3e9c03e6909c7b5e3c026404e076254c098b932 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.61/kotlin-stdlib-1.3.61.jar
+dbe5babcd8d43e9b08c2845680b53fc1bb3e051c4805802ddd0ed3e8e2c50a84 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.61/kotlin-stdlib-1.3.61.pom
+a2e7f341cf3047b5f00a1917ef777d323cdab2a57377468b8ed62aa31469cf7f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.61/kotlin-stdlib-common-1.3.61.jar
+e22db009bb1a61636d9425635989736db5e3fca494809abf244468dc474cfc04 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.61/kotlin-stdlib-common-1.3.61.pom
+11f4a57e3e7d81f3f152d5dcefe39bd77614b5a94125ff3b11526b0a19ac3989 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.61/kotlin-stdlib-jdk7-1.3.61.jar
+c416080aeabdb9118a08ee78c28e2856038cd85858422a71f7c46bf276f667a7 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.61/kotlin-stdlib-jdk7-1.3.61.pom
+3839ba7deb798375da1807bc469d1cf315db7a6275599f733184374772ec3b21 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.61/kotlin-stdlib-jdk8-1.3.61.jar
+e30187e5720ca640b8e68686f20dd0250dcef0193d56e5569c3c4a61277312b6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.61/kotlin-stdlib-jdk8-1.3.61.pom
+95b05d9590af4154c6513b9c5dc1fb2e55b539972ba0a9ef28e9a0c01d83ad77 | https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar
+0a84c20cf71f6a3d21fe226b0d588332fc7ae3e90cb583c60a483317eb9f3644 | https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.pom
+b88ef66468b3c978ad0c97fd6e90979e56155b4ac69089ba7a44e9aa7ffe9acf | https://repo.maven.apache.org/maven2/org/ow2/asm/asm/7.0/asm-7.0.jar
+83f65b1083d5ce4f8ba7f9545cfe9ff17824589c9a7cc82c3a4695801e4f5f68 | https://repo.maven.apache.org/maven2/org/ow2/asm/asm/7.0/asm-7.0.pom
+e981f8f650c4d900bb033650b18e122fa6b161eadd5f88978d08751f72ee8474 | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar
+c6b54477e9d5bae1e7addff2e24cbf92aaff2ff08fd6bc0596c3933c3fadc2cb | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.pom
+fed348ef05958e3e846a3ac074a12af5f7936ef3d21ce44a62c4fa08a771927d | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.jar
+f4c697886cdb4a5b2472054a0b5e34371e9b48e620be40c3ed48e1f4b6d51eb4 | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/7.0/asm-commons-7.0.pom
+cfd7a0874f9de36a999c127feeadfbfe6e04d4a71ee954d7af3d853f0be48a6c | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar
+d39e7dd12f4ff535a0839d1949c39c7644355a4470220c94b76a5c168c57a068 | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.pom
+75fbbca440ef463f41c2b0ab1a80abe67e910ac486da60a7863cbcb5bae7e145 | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/7.0/asm-util-7.0.jar
+e07bce4bb55d5a06f4c10d912fc9dee8a9b9c04ec549bbb8db4f20db34706f75 | https://repo.maven.apache.org/maven2/org/ow2/asm/asm-util/7.0/asm-util-7.0.pom
+0f8a1b116e760b8fe6389c51b84e4b07a70fc11082d4f936e453b583dd50b43b | https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5/ow2-1.5.pom
+fbd7b254e02d8aef60c418a5f0e14a783b38a16162caffb2d2a16ccd5d2c09b4 | https://repo.maven.apache.org/maven2/org/slf4j/slf4j-android/1.7.25/slf4j-android-1.7.25.jar
+bd9b9cb1a3987b1427f7a18babe7f92078e32bbe2e1dca6dced00cc0e3a077a9 | https://repo.maven.apache.org/maven2/org/slf4j/slf4j-android/1.7.25/slf4j-android-1.7.25.pom
+18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79 | https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar
+7cd9d7a0b5d93dfd461a148891b43509cf403a9c7f9fb49060d3554df1c81e1e | https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom
+18f5c52120db036e88d6136f8839c832d074bdda95c756c6f429249d2db54ac6 | https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom
+b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
+3a616a32f433e9e23f556b38575c31b013613d3ae85206263b7625fe1f4c151a | https://repo.spring.io/plugins-release/android/arch/core/common/1.1.1/common-1.1.1.jar
+eb91acbeeaccc7fa382f88b02a22d5eddf314665bbb8fed090c067b703f50a5c | https://repo.spring.io/plugins-release/android/arch/core/common/1.1.1/common-1.1.1.pom
+c3215aa5873311b3f88a6f4e4a3c25ad89971bc127de8c3e1291c57f93a05c39 | https://repo.spring.io/plugins-release/android/arch/core/runtime/1.1.1/runtime-1.1.1.aar
+30453099142d085d801460a20d7e02a3f4d3004238879eaeb62083f59f1193a9 | https://repo.spring.io/plugins-release/android/arch/core/runtime/1.1.1/runtime-1.1.1.pom
+8d378e88ebd5189e09eef623414812c868fd90aa519d6160e2311fb8b81cff56 | https://repo.spring.io/plugins-release/android/arch/lifecycle/common/1.1.1/common-1.1.1.jar
+1742e74f222d06ea26f811191adf18e4cb74213b785e3f5d0d930224e83b4e82 | https://repo.spring.io/plugins-release/android/arch/lifecycle/common/1.1.1/common-1.1.1.pom
+50ab0490c1ff1a7cfb4e554032998b080888946d0dd424f39900efc4a1bcd750 | https://repo.spring.io/plugins-release/android/arch/lifecycle/livedata/1.1.1/livedata-1.1.1.aar
+e8db306738739a616a74c38533a91cc066ee194fd45f492f188164e6cb1b856e | https://repo.spring.io/plugins-release/android/arch/lifecycle/livedata/1.1.1/livedata-1.1.1.pom
+d6fdd8b985d6178d7ea2f16986a24e83f1bee936b74d43167c69e08d3cc12c50 | https://repo.spring.io/plugins-release/android/arch/lifecycle/livedata-core/1.1.1/livedata-core-1.1.1.aar
+67a11cd85fd5c96ecdb84538e1eb58d7be59200e7d36d99943f31ecb514fe2a1 | https://repo.spring.io/plugins-release/android/arch/lifecycle/livedata-core/1.1.1/livedata-core-1.1.1.pom
+c4e4be66c1b2f0abec593571454e1de14013f7e0f96bf2a9f212931a48cae550 | https://repo.spring.io/plugins-release/android/arch/lifecycle/runtime/1.1.1/runtime-1.1.1.aar
+c7a7d3c2a9d6c21d8b6d470933b9472c733a4799b3ff702081b608adf1c7e592 | https://repo.spring.io/plugins-release/android/arch/lifecycle/runtime/1.1.1/runtime-1.1.1.pom
+7de29cfaba77d6b5d5be234c57f6812d0150d087e63941af22ba1d1f8e2bc96a | https://repo.spring.io/plugins-release/android/arch/lifecycle/viewmodel/1.1.1/viewmodel-1.1.1.aar
+deae2518ee1d17db319fbaf4055e32d591d58569eb9ccad53d8d323cf1840555 | https://repo.spring.io/plugins-release/android/arch/lifecycle/viewmodel/1.1.1/viewmodel-1.1.1.pom
+ec3a75bebddbf19ff56a281cf5d1ad146169dcaa0e69d7b14f4aaba2e7775f34 | https://repo.spring.io/plugins-release/net/freehaven/tor/control/jtorctl/0.2/jtorctl-0.2.jar
+3369726ca2b0e3736c741ff3c22e06f707a1007ff20ccc5b5ba5d0d9a01ead30 | https://repo.spring.io/plugins-release/net/freehaven/tor/control/jtorctl/0.2/jtorctl-0.2.pom
+1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://repo.spring.io/plugins-release/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
+5c415a9d8585200de4be1947e15291cc79f599b06249375f5c9ea22d4b2d090f | https://repo.spring.io/plugins-release/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
diff --git a/projects/fenix-tor-onion-proxy-library/gradle.patch b/projects/fenix-tor-onion-proxy-library/gradle.patch
new file mode 100644
index 0000000..c77db5f
--- /dev/null
+++ b/projects/fenix-tor-onion-proxy-library/gradle.patch
@@ -0,0 +1,72 @@
+From 66fc98ddb787d22787e79fc2e422076a42b64ad4 Mon Sep 17 00:00:00 2001
+From: Georg Koppen <gk at torproject.org>
+Date: Mon, 18 May 2020 10:12:01 +0000
+Subject: [PATCH] Bug 33558: Update TOPL to use updated Android toolchain
+
+
+diff --git a/android/build.gradle b/android/build.gradle
+index a8d9bdc..696f62e 100644
+--- a/android/build.gradle
++++ b/android/build.gradle
+@@ -7,6 +7,7 @@ buildscript {
+         mavenLocal()
+         mavenCentral()
+         google()
++        maven { url "https://repo.spring.io/plugins-release" }
+     }
+     dependencies {
+         classpath "com.android.tools.build:gradle:${androidplugin}"
+@@ -14,11 +15,11 @@ buildscript {
+ }
+ 
+ android {
+-    compileSdkVersion 28
++    compileSdkVersion 29
+ 
+     defaultConfig {
+         minSdkVersion 16
+-        targetSdkVersion 28
++        targetSdkVersion 29
+         versionCode 1
+         versionName "0.0.3"
+         consumerProguardFiles 'proguard-rules.pro'
+@@ -40,7 +41,9 @@ publishing {
+             groupId 'com.msopentech.thali.toronionproxy.android'
+             artifactId 'android'
+             version '0.0.3'
+-            artifact(sourceJar)
++            afterEvaluate {
++              artifact(sourceJar)
++            }
+             artifact("$buildDir/outputs/aar/android-release.aar")
+             pom.withXml {
+                 def dependenciesNode = asNode().appendNode('dependencies')
+diff --git a/android_tor_installer/build.gradle b/android_tor_installer/build.gradle
+index 554fd49..1913fa9 100644
+--- a/android_tor_installer/build.gradle
++++ b/android_tor_installer/build.gradle
+@@ -7,6 +7,7 @@ buildscript {
+         mavenLocal()
+         mavenCentral()
+         google()
++        maven { url "https://repo.spring.io/plugins-release" }
+     }
+     dependencies {
+         classpath "com.android.tools.build:gradle:${androidplugin}"
+@@ -14,11 +15,11 @@ buildscript {
+ }
+ 
+ android {
+-    compileSdkVersion 28
++    compileSdkVersion 29
+ 
+     defaultConfig {
+         minSdkVersion 16
+-        targetSdkVersion 28
++        targetSdkVersion 29
+         versionCode 1
+         versionName "0.0.3"
+ 
+-- 
+2.26.2
+





More information about the tor-commits mailing list