[sword-svn] r3893 - in trunk/bindings: Android Android/SWORD Android/SWORD/.idea Android/SWORD/app Android/SWORD/app/src/main Android/SWORD/app/src/main/cpp Android/SWORD/gradle/wrapper cordova/cordova-plugin-crosswire-sword cordova/cordova-plugin-crosswire-sword/src/android java-jni/jni java-jni/src/org/crosswire/android/sword
scribe at crosswire.org
scribe at crosswire.org
Mon Nov 6 11:58:07 EST 2023
Author: scribe
Date: 2023-11-06 11:58:07 -0500 (Mon, 06 Nov 2023)
New Revision: 3893
Modified:
trunk/bindings/Android/Makefile
trunk/bindings/Android/SWORD/.idea/compiler.xml
trunk/bindings/Android/SWORD/.idea/gradle.xml
trunk/bindings/Android/SWORD/.idea/misc.xml
trunk/bindings/Android/SWORD/app/build.gradle
trunk/bindings/Android/SWORD/app/src/main/AndroidManifest.xml
trunk/bindings/Android/SWORD/app/src/main/cpp/CMakeLists.txt
trunk/bindings/Android/SWORD/build.gradle
trunk/bindings/Android/SWORD/gradle.properties
trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar
trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties
trunk/bindings/Android/SWORD/gradlew
trunk/bindings/Android/SWORD/gradlew.bat
trunk/bindings/cordova/cordova-plugin-crosswire-sword/plugin.xml
trunk/bindings/cordova/cordova-plugin-crosswire-sword/src/android/SWORD.java
trunk/bindings/java-jni/jni/swordstub.cpp
trunk/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java
trunk/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java
Log:
updated to build with libcurl and latest Android Studio
Modified: trunk/bindings/Android/Makefile
===================================================================
--- trunk/bindings/Android/Makefile 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/Makefile 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,4 +1,5 @@
all: javawrapper
+ mkdir -p ../cordova/cordova-plugin-crosswire-sword/libs/android
rm -rf ../cordova/cordova-plugin-crosswire-sword/libs/android/*
cp -a SWORD/app/build/intermediates/stripped_native_libs/release/out/lib/* ../cordova/cordova-plugin-crosswire-sword/libs/android/
# cp -a SWORD/app/build/intermediates/transforms/stripDebugSymbol/release/0/lib/* ../cordova/cordova-plugin-crosswire-sword/libs/android/
Modified: trunk/bindings/Android/SWORD/.idea/compiler.xml
===================================================================
--- trunk/bindings/Android/SWORD/.idea/compiler.xml 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/.idea/compiler.xml 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
- <bytecodeTargetLevel target="1.8" />
+ <bytecodeTargetLevel target="17" />
</component>
</project>
\ No newline at end of file
Modified: trunk/bindings/Android/SWORD/.idea/gradle.xml
===================================================================
--- trunk/bindings/Android/SWORD/.idea/gradle.xml 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/.idea/gradle.xml 2023-11-06 16:58:07 UTC (rev 3893)
@@ -4,17 +4,17 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
- <option name="testRunner" value="PLATFORM" />
+ <option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
+ <option name="gradleHome" value="$USER_HOME$/opt/gradle" />
+ <option name="gradleJvm" value="jbr-17" />
<option name="modules">
<set>
- <option value="/data/home/scribe/src/sword/bindings/Android/SWORD" />
- <option value="/data/home/scribe/src/sword/bindings/Android/SWORD/app" />
+ <option value="$PROJECT_DIR$" />
+ <option value="$PROJECT_DIR$/app" />
</set>
</option>
- <option name="resolveModulePerSourceSet" value="false" />
- <option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>
Modified: trunk/bindings/Android/SWORD/.idea/misc.xml
===================================================================
--- trunk/bindings/Android/SWORD/.idea/misc.xml 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/.idea/misc.xml 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
Modified: trunk/bindings/Android/SWORD/app/build.gradle
===================================================================
--- trunk/bindings/Android/SWORD/app/build.gradle 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/app/build.gradle 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,13 +1,12 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 30
- buildToolsVersion '30.0.2'
+ compileSdk 33
defaultConfig {
applicationId "org.crosswire.android.sword"
- minSdkVersion 14
- targetSdkVersion 30
+ minSdk 19
+ targetSdk 33
versionCode 1
versionName "1.0"
@@ -24,9 +23,10 @@
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ signingConfig signingConfigs.debug
}
debug {
- jniDebuggable = false
+ jniDebuggable = true
}
}
@@ -33,19 +33,30 @@
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
- version "3.10.2"
+ version "3.10.2+"
}
}
flavorDimensions 'Fast'
- ndkVersion '21.3.6528147'
+ ndkVersion '25.2.9519653'
+ namespace 'org.crosswire.android.sword'
+ buildFeatures.prefab = true
}
+
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
-
- implementation 'androidx.appcompat:appcompat:1.2.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
+ implementation 'com.android.ndk.thirdparty:openssl:1.1.1q-beta-1'
+ implementation 'com.android.ndk.thirdparty:curl:7.85.0-beta-1'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
testImplementation 'junit:junit:4.13'
- androidTestImplementation 'androidx.test.ext:junit:1.1.2'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
+
+android {
+ defaultConfig {
+ externalNativeBuild {
+ cmake {
+ arguments "-DANDROID_STL=c++_shared"
+ }}}}
\ No newline at end of file
Modified: trunk/bindings/Android/SWORD/app/src/main/AndroidManifest.xml
===================================================================
--- trunk/bindings/Android/SWORD/app/src/main/AndroidManifest.xml 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/app/src/main/AndroidManifest.xml 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="org.crosswire.android.sword">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:allowBackup="true"
@@ -9,7 +8,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
- <activity android:name=".MainActivity">
+ <activity android:name=".MainActivity"
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
Modified: trunk/bindings/Android/SWORD/app/src/main/cpp/CMakeLists.txt
===================================================================
--- trunk/bindings/Android/SWORD/app/src/main/cpp/CMakeLists.txt 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/app/src/main/cpp/CMakeLists.txt 2023-11-06 16:58:07 UTC (rev 3893)
@@ -3,7 +3,7 @@
# Sets the minimum version of CMake required to build the native library.
-cmake_minimum_required(VERSION 3.4.1)
+cmake_minimum_required(VERSION 3.10)
SET(CMAKE_C_FLAGS "-DBIBLESYNC ${CMAKE_C_FLAGS}")
@@ -10,11 +10,13 @@
#SET(NDK_DEBUG 0)
SET(CMAKE_C_FLAGS "-D__unix__ ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS "-D_FTPLIB_NO_COMPAT ${CMAKE_C_FLAGS}")
+SET(CMAKE_C_FLAGS "-DCURLAVAILABLE ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS "-Wno-invalid-source-encoding ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS "-DOS_ANDROID ${CMAKE_C_FLAGS}")
+SET(CMAKE_C_FLAGS "-DIOAPI_NO_64 ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS "-fvisibility=hidden ${CMAKE_C_FLAGS}")
SET(CMAKE_C_FLAGS "-DSTDC_HEADERS ${CMAKE_C_FLAGS}")
@@ -32,6 +34,9 @@
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.
+find_package(curl REQUIRED CONFIG)
+find_library(log-lib log)
+
add_library( # Sets the name of the library.
sword
@@ -61,6 +66,8 @@
modules/texts/swtext.cpp
modules/texts/ztext/ztext.cpp
modules/texts/ztext4/ztext4.cpp
+ modules/common/ioapi.c
+ modules/common/unzip.c
modules/common/rawstr4.cpp
modules/common/lzsscomprs.cpp
modules/common/zipcomprs.cpp
@@ -170,6 +177,8 @@
mgr/versificationmgr.cpp
mgr/remotetrans.cpp
mgr/ftplibftpt.cpp
+ mgr/curlftpt.cpp
+ mgr/curlhttpt.cpp
utilfuns/swobject.cpp
utilfuns/roman.cpp
utilfuns/swbuf.cpp
@@ -194,6 +203,10 @@
)
+set_target_properties(sword PROPERTIES CXX_STANDARD 17)
+target_compile_options(sword PRIVATE -Wall)
+
+
include_directories(
../../../../../../../include
@@ -201,20 +214,8 @@
../../../../../../../../biblesync/src/Android/
)
-# Searches for a specified prebuilt library and stores the path as a
-# variable. Because CMake includes system libraries in the search path by
-# default, you only need to specify the name of the public NDK library
-# you want to add. CMake verifies that the library exists before
-# completing its build.
-find_library( # Sets the name of the path variable.
- log-lib
- # Specifies the name of the NDK library that
- # you want CMake to locate.
- log
- )
-
# Specifies libraries CMake should link to your target library. You
# can link multiple libraries, such as libraries you define in this
# build script, prebuilt third-party libraries, or system libraries.
@@ -221,9 +222,7 @@
target_link_libraries( # Specifies the target library.
sword
-
- # Links the target library to the log library
- # included in the NDK.
- ${log-lib}
- z
- )
\ No newline at end of file
+ ${log-lib}
+ curl::curl
+ z
+ )
Modified: trunk/bindings/Android/SWORD/build.gradle
===================================================================
--- trunk/bindings/Android/SWORD/build.gradle 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/build.gradle 2023-11-06 16:58:07 UTC (rev 3893)
@@ -5,12 +5,10 @@
repositories {
google()
jcenter()
-
}
+
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
-
-
+ classpath 'com.android.tools.build:gradle:8.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -20,7 +18,6 @@
repositories {
google()
jcenter()
-
}
}
Modified: trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar
===================================================================
--- trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,374 +1,544 @@
-PK A META-INF/ PK A (MÆø? T META-INF/MANIFEST.MFóMÌËLK-.Ñ
+PK
+ A META-INF/ PK
+ A m±>=@ ? META-INF/MANIFEST.MFóMÌËLK-.Ñ
K-*ÎÌϳR0Ô3àåòÌ-ÈIÍMÍ+I,
-êdä¤Z)¸%¦ä¤bȵèñrñr PK A org/ PK A org/gradle/ PK A org/gradle/wrapper/ PK A ïzZï Õ - org/gradle/wrapper/BootstrapMainStarter.classVYwÓVþË#DgH!ÄÎbSJiIh
-¸ @c5¡Å¾v²Ê2$ݺ÷ðÚ¾SzúÚÑ?B;W²opsÙ¿;#ÿýü÷g ^ÁO2Bx[ÆaÌKXpAÆ .ÊXÄ%âËe\ÁU¾¼Ä
-§¤¸&áº)ÝXpCÆ»ÈH¸¹ýXp+÷¸¹Û|y/wPe¬#+!ãǼC(HØ8£='À
-f èNi[.×uM]×JYU_U-ßkDÑÞÐJb)Ó*$
-ÓYâ¥nn2+qÞ4íM%U3Ò¶jÙÌà/ñ££ÑµÔ]õ¾ÐU£HÛff]f&4Í:ñ¨V<ôµ »./E¥«QY@§Ë½¤Z}Ö4l¶e'uµTJj1ìjÌN\_IÕ±¸r¢vHzë|;$îó½aæÕ X,¯³¬py$9ظíM/yýÍfÏLÌqËó[Y¶ik¦Q Q)òK©e#»Á,Ìp´)OÍÈżæTGµ¬£d`
¯3¢rÚ,[Y¶àh
Û.Î-(8Q3 û^:J=GÁ]Ü +(Â`*ØÄ
-,¾´q_Ál0zFq·jq½8~Á¹óXlãC§`5eOÁGøX@Ï.ùÊú]ªO|Ϩ^ºYb¼
->Ǩr-?Ô º¶ÎÃûBÁøJÁC|Mݸ¦½¸¦ã·(+o|ïèìz^)¶Vd;04Ëz.bvD§÷`³½Á".¶g3réÜJD3<rN£2hëen!2>V+ø?ðÐ~0þ?{g7°ºü¶y}
^@O4Vß³%\¬I¦Z$S$9ÐTïôÞ.Ù¬ØØq
f
-§]}UµAÃ!æ
-ÏÓ´ø¨+øµ
-©Ô{³eòîý
-n]*¾Äìd¹0}»NεÁ0mJ- kмYq¶ÎZNìeeÿx4Í5ã¾yÞðéz7n#4¸©b$ªw÷Ѧ9Ó¬z¦Ï'e4Ö2l$¿¬ò ÝX)ÞÓL#¢jSCÅv)¾I@ó¦EBM@Ûä³
-ÐÏm¯Ògù0}ùy´¥[vvÿDÂc:t`ÖCÜc´*® Æ¥2&H+?'9öüÄTËOáË@Ìø¦+ðWH?TA°Îñ ä°XÁ°R*Ø;ãûC]$Ýñõ¡']AïL Êø&éÞw#,þ
þG\ï7xìÏ£;NZÈûrôå?a\ÀVÁmËã¿èFX&1å ÊcqBÀJCl"ãô[F$k'èÿUBÍmÄk$uª÷:ñÞ HÓd
¾ µVÉcöËO1í«bᥩgs¾SâxègL
-'x*
-¨àà#Âþ_Â/ÿþó2¡a/O0REäÏÂ[&HÇé| q¨sä6!0~t÷M¢u 4ßÂYØO?G'·ËN"ø;8ïøIþPK A hdf£ Õ # org/gradle/wrapper/Download$1.class}M
-Â0
ßh5Z+v/×Áp!.<AlCl IIª½à¡Äqë<æ=Ì|¯÷ã CÂÀbB|¶7Ë}©%aºµÑVëJÜa¶3¹¶¾4ê(«-&
u+'
--yëD]KÇ« Br0FºÞKOH;×Â(~ºT2oó?t=|§Ð"BFÃ
-u-} PK A Êo:s @ 4 org/gradle/wrapper/Download$ProxyAuthenticator.classS]oA=ÅeiqU°ÖJmk
ª,ø
-Æ`LLiRmbú4
¬ÙîaòL|ÒÛhâðGï UB Õ}{çsï=wföç¯o? ñØF9rÖ¸ic l&°lÜ[6¶pÛFyÛî0Äù¡¯3Dó
=XM6ÃRÝÅëÞáPoøA@·.<ØãÊ7ûq0¦Û~°%ÕnPû
-®¥bp^
¡Pµw»8¥ºT-¯¥x3^_ñNG(ï
ìäÍͳ*Ë-¡w(½/UsóeÈ°/ÔßóÜ
öf*î2a=?·w¹brçì]ÙS
-ñÒ7ã§N¡¢â
Eªq,ŶÖbÇü¶+
{ðèÿ§¹)Y(;¸¦ÃCÿw?ª¦Õ¹3¤[Þî «Å!CÒÜÄÔ|}¢¶*
³!'3ÿ-km®ªJqËökÙ-ökæzWæ5úk/¹Ez4K´óÈÒÂÂö1"_È Mk|ü´:#\\!CÙqr¢Ë~Gô;Áw$¾âÂ1ìÏSå>MËʵq¹§d#c-l¶Ì0Öb¼\¦ù7p¬K^\«dNüPK A ñÎ & ! org/gradle/wrapper/Download.classY`×u=OÚÝFVH°`ðbÀú-FZ$²`l´#ia5#ÏÎr[7Câ4MÜ´q>Nb'NZ÷_ì Nì¦-nÓÖý7m~Ò6ýºiúM?iÒóÞ~´Zm§¶õæ}î}÷¾{Ͻï¾õç¿ùéÏØ).Hàºa¼TÃÞgdóYÙ¼,Wäê/èø_Ä/iøenx¿bàWñyÙü¤ùuÙüÛñßÔð[ðÛÂø¿ßË¿/?Ðñ?ÍËæ¾?1ð§ø3Ùüy
-E}YÇ_øKü¯èøk[ñ7AÈkàïð÷µø¼nàñU3ræäN_3_ÓðÏRÍ¿Êæßdóï²ùÙ|]6ÿ)ú/ÿmàþGÇ7tü¯oØt|_Áã&½*ÚHT8"º"$4]è¨S.juajx&êQ/tÑÈ]ÅM5ѤµºhÖD.ÖëuÑŹïFj"nÒÅ&]lÖÅͺêb.nÑÅV¹Á6Ml×ĸM æ ãØ^ÊJ§í´@xÔs/-ôfüYÛñSïzõ£cÇ
-Äbö9& êú]'í[?a¥2vµ´£@mßø¡CcÆOT
-¥Ü»lr½îÏJ¤ìî5?o{ÝCjq¯Æñ5gS
¡sÖ«;e93Ý1ßK:3\6¸<a{é¤ë4Î{îg§ÓCÉ´o;róÎJt/:)×Js¿Ð½I'éïèk]E¬Ù1!èwÔ¼a(éØ#¹IÛ;iM¦ÔYÜ)+5ayI9ÎOüÙ$M½i5©¢»ªfßÍqßè1nréäLƳËQ Ì^Ý*ôD^À͹}ÛïÌït»%S¶ÚQ³ ©
-1´PIØi?éä÷®_ÎK\²çå"2ßö+Ee2^ªl×!²ÕgÒ¶×;cçaIGOf¦§%BªÎôQ'37fKÝëxVZDz¾+`ªßÍH!ùQR¾`V\rQÛõËÄ2{JªJªÝ/ÐR<Îñ?ñidÛãrUìÍÅÕA§tQK[Óö¸Ø\fÙåÖãñh¥$Z¸ÏJ'§Ê½µ£¢sVª,ÝdLÇt°4á 3í29LZi{÷®gJáûÖÖ
-¸©3¶còmÖ¥å6ÐyötÒºsk¤7mE\ ÕrCoy.8>yLÒÇrî®ãÞ奪¹ªáÂò#;ëJ8TîRäYÃxʤ,ß/áÊÞX~fe6Ge0};^t=%¼l;Lµw0äÜí$dÎÍ
-òoÍÒRq.ä¦s ³ÆMNözSijs3Þ-£0.`¸Kîcâ"ÍMÌãaÒ&|ÙdpÁÄ÷ãʹݬïÏwÍË< 5×ÄS´á9®U2϶·åvMt¢Sti¢Û·¦¸CÜiâ ¼ÅÄñ´)v»~
-QѧBÖNÆ®4C.I»e³GwâÑcâ#xÆÄxêw*Ëkb¯)îûL±_Üg¢W}¦è51`Câ°)HÅ\mRæ/3ïÛ M5Å11$ÐTÝãE¨ D
-^´ÒÑÆ.©ÙäÙM1"kbÔ'Ä&b¦8)ÆM1!LqJÝ,
)ÞMÍiÑk3²w¿lβá¾øü¬@Pú*mÅCOõ§ «è'G£*ADg¨{Áö¢CmÓös~t) D}7ZH¹Q2E+G¼Q¼ädFÒtEGS6ÓdK'<ÑLQ`¬â\/ùH>+G|_&RÁÊ©'Cl~ÏbRrJ$LaiæÉÛE±©®>41cYÁLi,¥&ñ²¨6Å9q>RömEú\ª9éætÊ*M8HbNðÁñ: 0WÌ/£+°6UÈBQ9{©ëÒ\ªk2é$ºZ¾å/ÌÛLÁtºiÖÌs?§Z¯Doùri³1^HÉ9»dϳ¸IWðM:z1éÏ®âûd:ê¸~4w©C"ʹ&èÑaÙºrAÞrF¼nOæôg´8¹º.äóåóSCn8·4£¹é®\Ú4Ø[6m©L¶q{º{{:Úº=½Wý·£¤k
-_dH²JNb^©°:¸´¼iµ¶elÁñK%®(ÅÁë-&ªZBûøêòXUº[2ÊJo#mûíi+â½±±äZF§ö0Kó#ãOjay¤ÉÎR;HziUÙ&¾}¥A åRYµ¦uemi\ä,éçgÑNI±¡LIJª¥ò
-IcÙgX8.Ù÷¶
-EIåò¶))¸JL²¼Lÿò6,Mÿ¥<US[ÏôI¢Lõòåfƾ( ¹YÊK¦.ÒJqT¦¢~M¦)_årUªÓ¤Ç¾í{XC"o/eîµ¼´¸3e/+{zµ|ÏPöïâ1Bí
-7K0¦gFµ©¬Ê:zT꼶ÆxÔ^Ò'ª5|pPVóÉù©5µe^ÑØ?â¦ý\o /ß³¤_uöNdlseàò¬9U¥Í¿!`üÿ±É3hj+.ó`¾ð!Úù*ðüÍ*R¿x±ÉsªKQZzGyý»7%µ°ðdÅ2¹¹âí.³ý;([,}U(ýTà9³§tõßnöM:ÜóÄ=ì{¦É+=?¤!û|ùkIK¥ÊwfÛêØa¼»Uð¨gwkÿj>¨\z¦]oÎòËPÁR§Â$0!lÀ9g?
-s;%caùD`?,_ êëç¿|+ðkö".±]àhAøik/¨mQUl£Ð)þ{ØkËâ{ñ}êw¸%H¨U¥zRXµñh^Ä\¿Ümn[DU[ûUT·u^E -¸`[ÇU¸ -ÉÝíVJÛÆý¶£·b-nCØJ]¹ºl.ê²Y³Jõ<¥ìIåK)¯Õ!¥%°6¬_CÍ
-Ô_¨½sIzÅßAt¢ ÝJ¶ãËËxo!uÎÕ¾¡#º,êOµµw,¢¡|»;¸ÝìïRÛEs,Å£4àq¼UhÀe¼og?À1ö(«'äOxu¬äzí×ÐÅÐuã×ѧàµh²hé ´µGXGK¯ïÑ"p$¢e±!ÈbcOpM+^Ò{t9ºi·Q³§¶fO]$ѳØß]Sõ,æ®as7Í/"ÞÅ-×±5Þ¶í/·Ô5×\¶öÔµÔªomKíZÜ:WóÞgÐÞöIT[³ØqJMÚ{j9º°ü´7[ê>
¶:#zusMíÏëöëo@³è꼶Î,ºÇÖÊë\4¼üÂÚkx&{_Ußéhîæ¨÷ÒüûýÄ×}ôï:¥{ÑÇû1!1Æ0øhG¬cDÐ02'qOê8¦k~Ô#õkã8/á¾³ø
- q|sßÀÁ·âaÂRî75©Ç+x~½Æ;U/ãñ.Bå!ø»â5ö(ågdÆÈûCxj)ñÏöÔñ$¯âGð^¥¢® 'öòpb/§*Q§ð>TäGPèx?>@Ë,M/ý<²Qºäë¸=ÞÅNÁæþÝÉ¿]ü»»±çJÑà!Åp®$d¶àCTE&%ýyÏä3Ñþ¶öEÜ=Òù*/ïi§¬,z©¿ïß{ûâؾ/mÌZ½üfÑGD§z¸4Ø<MåaM¥÷1E,¥´ýÅØÛ_½ýx©"÷Ýø¨J#·rOÞ\û(%Ä'yþþ,w²8>\ýÉbp¤#|T8W7a(ÆÙ@§ Áp#=ÁH äêp¼º=|<Q¼WȬ'ËX#Q¼'pãñðóS/SIÈã¿1æ¼ÇTòxDÙ`ûV®¾
-ëy¨n¦¢oøqç¹Ç·Ç4i¢ûéùõ¤ø8^MêøQöYÃótÚ957÷8ýãø öb°dO¦¶'æ}R2åþ£X¿ä3ò;8îØ~3òp8Îv¤ãnf|oÌ{ ±'Ó9_!>Î,a®E]OÑ#ï£*ïgþ ûé_ï,*³S¡÷3Úñsêú2BW¯«ä/Qyµ¾È=%Îï§BCá³J¹¤ráÙöÂÉO0lÉO(<Ù¨+÷°X<ÀO0§cñP=-ÅõöX¼1ÔÁFë]ÃÔ2Ø>Cµ¥Båµý1Þ|϶çø u#9
òG á³´«IR%̽ªÁAdÕí%ìÙrݸÆ^R?YU"TaÙºü¿^HÂø?PK A ÔN/Ý¡ Ê 1 org/gradle/wrapper/DownloadProgressListener.classuÁ
-@Eï+ÓjDËöEÐкe$BÔ~Ò)âÈÌÿÖ¢è£"¶ÝÅánçõ~<¬0ðàyè&±ª\É8´ÒVfsEÂ1a<2y¢`+ΧýÚ÷çÂ0TxæLnêQ«D³1Aj,¬IX(DË8gQkY¬Å?
0úæò&/×#ë´#Ð
Ó>ôvà~ PK A ~0^ å 3 org/gradle/wrapper/ExclusiveFileAccessManager.classV[sç~>YÒÚë568Ç5ÐD2Øô@*»$FÁT s²qãBÖÒ½xµ«®VKOIKÚ¤mzJÚrÓæ"Óf&Ï\µ3½n§¿ ¹éMgzQú|»²¸Ïø;¾ç}ßç{WýïG8Û:¹< 5Lj8¯#)
-_ÓÄ9µyA¦Ûñ¢_R'Ôðu5\TÃ%
-/·ÃRË=(é4UÖ ÛqYÇV%¾³:æ`«+:æá´£¢ì¹íð:QÅ7tø¨éPO@ýu}®WqMÃu
-¾)ÐS<?yi¬P<viâüØXáÞâëªu,w6;ø¶;;,Ð÷ÜZ`¹ÁåÔ¥@G`W¤WÆk¢ °©ê9NÁ
-¤ÕrÔarÄvíà@"](d¦ây¯LÅî¢íÊSõÊô'G*^Ér¦,ßVûæa<³i%[ôüÙì¬o½æ[Õªô³Ç®z;*ÇlGJ²V·\kVú´ÂÑtíeÜp´«¶-yn©îûÒ
-²yËqÇáLKÔ§g®ÈR ÉëUÛ_`'ÉñJó;"AvKsëJ§:`ó*Q²³
̪ÑÌîÿG ]ùl^Z>oûDæ)H=¾å½J$¶mÙ×¹Uw4§5Ñ.»^A>ÚP¶oeIªKeÙ·1êÉÉá#Ô×Y"Y
-lrT°g]+¨ûÔÌMôÏTªÈI#³=+I2qÜvŶtÚ\±fdÞñjòlÝÃtõ=ô^DE'/;JK[ÇÖa4^Ý/5ë¹ûÑìRÊpÃÀ~00Fkh¾
o<¾ú
ÛNYú¾ïø^!OÒ¼WÕÁ¾oà¸ià55ü7Yì6ÎÕ]õ.p0ïÕ²ézYò¥H³j©$å%=ßT´2/iàG£×
-ÀI'E%ÍÀø±ø)Þ4Pĸø9~!Ð9µÓ»lªX~ÉglDiNÍk0ÞÐûòK1£7k^&gjø·ð¶_ø
-nhøwpRÃ-¿Ã
-Vêaô-a~¦nÁ7´!¦"^ 3
Üά~ÇENY^nIgÖkIåß-UzíõZ&ÔüèH`ïº/c
!¢MVæY×þ/]Ë®ÜvÚµÑMÀ£35Ï©òÌ l]íéÌ/uþ¥è6è;7`®¡vÏ]´Öì-%#k¿DͲÊ>¡ÐíH6ÊÞÎ
-°³9«¶Üñ·=Ãð¥#\rb¡È
-«æZ®§¨Ïþ³¦0°Í ë§ø)nC
-id 0À]:zUÏàºWµ
-ÎqÞ
-!Ëñ wÓiSð;Û?Dl`Çh{?T>ªÅ9ösÜìÅ&ìÃÓ<1#5|_~nD¸Rb\_¢ÝÄÊH Ï,">½¿Ä"Ów qÙÞ@G¯Î¡Î;0N
-ò6OÅèº
CjÞô:ÕÜ}ýènêön¦¥{t»/r K2- vÓ:¬\Gªã/Ug}Ú[·qx[§{ûîàñ\"hà\2l
->ø{*yÛR 4Ñvó.¶¿ûàeb°ÕõúT.ØÙ»ëý+`¸Ý9=Å34HT¡M|è ¥ÿ)×¹¾LçýÑ"hÜgþÿOE7sØ-6«ep¿_ÍÌ´ª×k¬H
=¤"Âs¬ËEVÄbÑ˨²z5ÖìUVçMÖçmÆm|¿GÀ0ÞÃÔZÄ(=ç8¡³}ÿ'ñ EÃi¡áQ}(í8!v±¹ïå]wq&äÈ2¦{ôð4zmÐOgäÁo¸¦G®¾#äÍÚ|gmH"aìþA<GÉ¢2þ<çÏÑcT75Ǩy¼IïÏá«!üçG§Iõ§Ã; ý.ú·`OåËOççCÌF$Óħ«OPSÿ,çXøTþ®{Ø'ð.âÅ÷y§`ÝFæú_V/ñü"o.ðÙ¼Üb¾§pZEÏD)gÿPK A ©zÝ\ Q - org/gradle/wrapper/GradleUserHomeLookup.classS[OAþF]ÖõR¬(µ¶j[[ÙZíUÓÄ˪T Od
®.»dYlüW½$jjÒÇ>ôG5=ÃR+ȻɹÍw¾sæÌÌï??~XªQÌÉx¢à)I)`^F\øF° á¹ ½zQFRhMÂK K[úöúA*_ÚÉ®o¥ôÒANÏvÓtpêØ854Ë°«ZÎsM»ºÊ0Ý+e²éÍK{zahÓ±a{Ãjrâ¿
×÷>4¸fÚ¦÷¡?(06
-%¤Lï7kÜÍ}8eÃ*®)üv0à
-DÊq«ZÕ5*×>»F½Î]m§å4¸»ëÔxÊqNuj}¸Úg'ü-¶mZ0òZÙjw¥ä¦[æb!Ú3)UD0A\>y²IäA$¼R±õf
-Mðx÷fèûFÓ´*Üe]Ó«xwÔ¯ô«xówuð¿Húð½Pî¬áñÃ`{×!ï!¿}%½nÉx/ qè¸}JhÍ®0,Þ²= q@ãîÇ{ÔÆ,ÝúQzýiÅiÂÝGã7ü !8CÑH3Ò`_[(É`+8$U)<$Â4µOZdô4Ã}è/îýz
@¨¾:CÂøY×
"D"VvIÎ ¹ëÂ(&ö%Óê¿®)[|SW/ ©þ9Ôðs,öÂnì%Br¦Uvö/PK A ë¬j¦
- 4 * org/gradle/wrapper/GradleWrapperMain.classX|×ÿ?}òùll0"A /l
ØÔ±
-dlcbHBù°E$Nfu$I¶t&Ý3I'I[ÙδéN÷Þ+Ý{ÿ»;˲tý?ÝûÞ·×û^üÏÃØ 6©Ø»UlÄKäòR¹¼LÁi%\+x
¯ôãUr÷j¯Á=~ÜëÇk¼NEĪÂëåáT¼oRðf5ø-*¶ãçÛäòv¹¼CÅ}¸_Á
-ÞéÇ»$èÝ*ã=
-Þ«bÞ§bÎ(xPÅÉå><¤àý~|@E>¨" ù5)Éåa?¦üxD
Êýc
-ΪxVñ|TÅÇðqÀ
->©àS*¶àIÆgüø¬¤ùWðùùEyø<üdô_¾âÇW|MÚr·\¾îÇò÷~|SÅ·ðmßñã»ø{*¾Èå*~«ø ~ªàg*ñsÚýí®Cûºúíìëé:Ô·g°»¯W 9ª×Ãq=9°R±äh@EL[zÒÒãC TDÞÙ5ØÞéêÌñ©vQöîëîÌAÍn%cÖ6ùõ
-C¾sÒª"±¤ÑI6Rúá¸!4£z|HOÅäÞú¬±XZ`]ÄLGSúHÜHéããF*¼ÃÞîwv=z,I£| þ
-,®?Xl²-]O_µÇ±êrÞ¥§*Þ<O<´bFZBiZ1âë©´ÁÕùzFã±pHèÉiìÊ¢fò8IK N¥-#±''*AÇ4y(æ¸cü<DÚrFòè¾ ]À.rìËX±xx.ítxí£²;Íí,££RÙ¼¢±IWåBºNÑeþþÙXÒí]'£Æ´9ÕúÈH¡VÖÏÆì¬êq4^QÞPË
®6ù2Ô¡ùãLI©X.Þ×ßÍ3A9ËgN%-ýdÎéJWÌJÛ\j¦eâqÁ©ª2Òf&5ÚÓÄ1ôÀ¢nÝÉñåIªÎÄâ#ýFÔ[94}¾&ë/&Eæ_5'¢óå:`áÔËâ¢m5\ë4âV
-·àf
-Gq3Ȅ
-IÃ/ð4]UèNFÒæ1Ç~_)øµßà·Ä9&Pr,3è³MÿG jø~¯áø£?iø3þ¤)¨zz¬G×ðWüMÃßñ
-iÜ©á©ÁÂ]
-þ©á_ø·ÀR÷u˾³à<;Íɸ©°8''4<·K/þg¶Û¦)öèÖX{:m$ØQSï¿\èÔy _Ͷ¸ñ°tÛX!Ä<¦Z~zÐ\²e¦-J¶óáÓD(ÕÂ
-?Ue¸mäZ;µF <D¨¢\Òilséñ¨ÐD¥¨RÄM,ETk¢F,RÄbMÔ%tÚyjþÉþLÒ%Ü¡T#¨¥¸Hêë;B35±L,ØÖ¡'¦1è!ëéô8=:b¦B®º!Þ¡#)3ò;¬§PÝÚt]ˬ4í;|ÔZX!VJ!M¬âa»SN)ÏòÑjq1CÛklîT!¡¯®5b&Ö:ËÈÃí5¡¤ÝlBéq#;3FB±ä9ø·(¢^
-¸íÙ£½0rft³=4íW^4¶QMX/Ylø·+b¬[és6I½Q^ñ¸yb_òÆ$Ë oúÒXSß0·Ôtõ½Üs<8¾é>z¶Ôç2/ÓÓí©ÑLÂHZR-ÇWÎGb£kmQÛ-6F^y%öÔ1Wk<Ç<2»éñ*5¬ü[qÉôU<((î#põ.<.ìm
-{9De¬vÙõõ
¸4võ
G *ËZÜ_x³;ÝjsÑH0§Ùd¶e÷[±×½Î
² »þ¼½.
éÆïy:«ÇÛö¦ôÊOνãyæu/Ør.öÍ
-]ÐèÁ²ðÝÉTËñ§9xá°8ìÜÕS¬;'æe¹½¼,
-«Wá2ÆãºJRil©S½Æ¶º¹Òüªh¼8iÅ« ÓtÞ-«§«-ÍØ¥bÖ©p!Å®8?ãùÊr/>иÎßs±S$7ç&dçr´MÏî-É2yéaÊyyI¾³ÇRæ ù³½Ï¤Û Û@tÌ°ßƱ§¿å;Wh[Ã"°ä:ãx
G0zÐxr]CvYcN¸úò/ºsê>gh[Rïy.¥Ï´ÞS|ò÷lå«=ø1Ѹ)/Æóçèì@ÞnE]Ááí6}Óyº1Ùê©ú
xçîÂusÃäósÿç
×(»cÖ;6b7fÆú
-CX
ØÀ °Ãð5ÜÍC÷Ãy{ûyû
-îæí+I!äëõ!k ¤qâAå×R¸7pÕè8Ìß2D1B,ÓWNØãiÄü.¾Þ)O ´Õôe¡ìúJ
x~ l`ØP²(ÏBWHp¥ïB)´K$í ¯1@ké$ª[ Bhéj²(ÅYÔy²¤Õô7O"(7K[ËÖOâ¢V5¨6NaÙp°l
-˹VLbåBSX5ôO`õ.ÂrZź»w!Àu-ݼÖÑ]
-¨E#£ ±;ѽtÚ5Ø@ßlAèI\Û°w /ÂVÆ8vÛwãwÄÞ#|6Ñe@_2 ñ9ùó nDX{a"$}~ÿ3É¥âRP(«Ãçü¶³¹¦^Çqñ8iËèá7_on£ä5¿uôäêõhÝ[ëò@3©¤b@'ªÑEl·Zì°ÂMTö×QÛ(U¾]ºyUNvMο3ÙÕ]å¶_@·äX´»xµ¶ÂY¬ç_s %Îâ l(d×Ç®6ǯtÝýtÔ{W56f±)ÍY\Åe»ïCEd
-[&pÅYÊh
-´e±õ^,ÀÀ¾G±mx~ãÀ$®À3κʴOàê3¶¬ôÍå®&+( lÐAÔ`Sg?èVï[Ã=º·áYÜÕ0xÏÆsÈi9]_¾]f0Kø;DYtîn|¶f]:ÛÄ;"MÔigS ;]=ë§1vKõ½<4iµ úÎî¶ÏzYð}gÉ}%Úèjéîû¸eÐÃï]ö¯cÙFzü*£
-lµL©LÊ5Lì&z9L_Áø·1w1uw3m¥µÐĹ^ݪÏÃó _IèÎåôÀíh¥q§k÷;éÑÆ@Y{îA¶ÜìÍ¢_z39àä©E ,e!ÌäÂ
-»$ww¹Ü·¸Ü+§0H¦0}
uSJ`ÑI¬ÿPK A çìXsª Û " org/gradle/wrapper/IDownload.classEÁ
+êdä¤Z)¸%¦ä¤*%¤ñrñr PK
+ A org/ PK
+ A org/gradle/ PK
+ A org/gradle/wrapper/ PK
+ A %Ó¦¹ / org/gradle/wrapper/BootstrapMainStarter$1.classRËnÓ@=Ó¸u1¦ôEy@_IikÁ6U@.,RuØLì!ÊGã ü6 ±àø(ı ]t1ssÎÕ¹÷ÎÏ_ß x½ 󸳻îá¾M|4i£ÝsZ«}.à穸k£Þ=eÏd/c¦çÌÎ¥Õe<Mzn ð1Êg²(ÃÇqnûQßÊ4SÑ'+G#e£yî
+ÇàTjÓuÒ:e·t(@&9V|!?ÊHçÑK©Î$ʤéG]gµéwÚï(3ÕV`é_(9¬TþGºùØ&ªD
+l\&ä¨d±ëdyAÖ©r<õñ0Ä#l
ð±(°>ié0c=<ÚO¦õ±b»í+7.Pÿ£ômïB%ÀÚßM
+Ñ-°wźlá6i<øZ2³93Ööìèê³#ðÒ± w¹Úºl
+hÂãâòø¹æx8F×èE´v~ÿÄê9à½P%pw8Ð.ÑR3êSò ѵ²ÜAcî+jgèQEoN SzéÝB£z÷±ªÄjÅ\Ã:ÛØÀ
+zQ^ÅÁoPK
+ A i,« $
+ - org/gradle/wrapper/BootstrapMainStarter.classVÛSWÿsÙ°,1*±BI /µV°V(Ð-m´Ú.É!¬nvéf£Ðjï½<÷·þ ö%Ø2µÓv¦ãô;»IIb¼ÀÌÙ³ßõ÷]7ÿ>ýý1£øIF 2^à C0%cïÊðA0#aVFd\Æ{2æǼd\ÁUq¼BNP®
p]ÂR2"¸!c7%|Ø^|$AaQØÊ£ .aIÆ~ ¢eeÊ4¹1´r§tSwN3øÉ+þUàÛUÝä³Ò"·çµE(aÕÊkÆÍÖÅ{èwu²T-».ÚZÁà黶¶²Âíô9ËrʽÌhºu4Ûáö8C ,®ëê-í64³Î:¶nÇ=n¥/èwñhv<ìl#Ì {.'aénVfèð¸ÓMèóéðUÇ
+[µ´'bÔÓ0¹^SXB¹D¨]Ãß.I¸üî,[XÍwÒ$w7'nm¥¼H«ÙSçI¾r¿=£¸btr6±ç+ne ·¨:KºYPµ_æ¶_¢%uÉP-q
+iûõgôÅóºMÐ-{\fçIjWË0 `
+NãÊÂV8sÓÑKüØ«bâ¦åÄ
+ÊÃãÎ2_t+¯cOëf\Ðɧ¾XâCå¡CÏK·Û
+ò³ç9%¥ 9
+,¬HøX
+Ê©£ ;
+îc «Ö|OÜÃ}Ê.µwÊë¦TkÊ)¢à3|N*ZRÛRU_àK_ákê¤zÒ3U梾
+¾Á`\4Tä[ßáïñ¦ìlàð#ÃÐ+*0ô>¯iò¶X
+åìiFZ$K]Òh²O&ÕÆñõêVoÑæÞÕFW¬c-ÌMßD²qh§Æë:UTT
ñÊÔ;#RäNvìðRózH$['tk=ÊeÍæ&Ŭo²º§çh8ò6¿lsܯØÂPý=ÒäÖ£
+ðeîdÚ,±Xâî:º×¶Ø`»Ô¶Ùl"´zñϼ¤NòEë/¨w¬Û¼¥-j=𶨨¨y1/[Ö\ûf òUÚe÷v¡S/7,¶xBY|·ÍZI,<ñJ¶ìG x âÏ&¯Ó[á
+°_é²
+Ct]b :O IÓa£$EÊì$úî>¶ÙCÿ w¾\Øïÿo4ûÁ
+Hn"#RGÎw¨
+¹Nb(Utm {ÌÿÛ£þ*z¢þð*Âch ¼¤#9_xW¶ÝcÁhyGè}ÏÕ¨ÿ/ô®CúCAö» Sè¤s/AÝô¡~8#E¯Rü7q%½BÑß#
+ܤ@-8q;Dv{Kã0À*ÐÍG¶ÎÑ¢cäM%Ê8N¼äãM ½UKÇ;I¼1¢D°í ú%ÄâDvN¹Þ¦Dôí©Õâg¢ùèy|±Üpxïö©#UôcýëèÙÄþÜâUý]£ý¿@õ}Ⱥ¥iP8T©(Õj@§ ö1*BÜ ºqg)<rç
+¦ <öÇ8Édܾ8OédâïwS
ÿ PK
+ A hQþ}¢ Ò # org/gradle/wrapper/Download$1.class}M
+Â0
ßh5µ*v/×½?àB\xØØT{7ÀC)âÖæ
+¾÷^ïÇÀCÆ0 $g{sÜZÆ[ÛmE¾,Å]&;i룲¾Ú!!̬S\9kÉ'ªJ:þË-VÑÁé6Zx/=!m«¸FñÓ¥YMþiHç tðnX¡~~Ð8\j4þ PK
+ A y´[À4 Ø A org/gradle/wrapper/Download$DefaultDownloadProgressListener.class¥UßSUþn6
eRH(Z@Û%U+
+ik[ J%D«Î%¹
+Û.»¸Ù@ÿ>øÔ¾èÓ_:#Bu¦}Óþ#þzÑÑqF=÷~t
+8ɹ7÷Üs¾ï»çìÝ'ýÀ+øÈDo4¢ÃÒH5ÉmÀ9çñf¸ W.¸Ñ&aÜ@ÎÀ[&¢x;raêc" i.4pÅÀCÄñ*á3t<¿©ø¼ì̪Ï
)(g¡¡,Qá`8µ×Æ1oÕu<^¾ê{_T«»W
^öÅíÕªÛ{_nÀÀòÖvíà<ÃåÔ²o!<êksÁvÅÚÒðgøC+-¯ÄYîÛò}1,ÚUî1q×`¿ÌVÞ¥qÔáÕª sñ:þÙèh庯ð V]änEZS
|
g\d®Mç³RÁËe!ö´!Zò\J[ éd'Ìä2cJ·&ùr]qRru·JÁ+¢èå8 ÔSXm¥ïçÙÉàMxÛËä§ÆoÄr`{.±h§-ÕêgÂT^*wSàÜ٢ߡ¸µd½ÅälÉ2ºgPZèÂUm8l¡ ÓÂ)«AïXFÑ ´è¹yÕÀ
k50'=ïÒ±îAáZuèè3Ó57°Ä¶S"ÎxÏÂû¸ná\7ð!CöTDïàM-Ü%:þçho-%+Ô±ïÓBÕfuN×I¡Q{ùEñqM¸%íÛ帨vËÆÈ>E¯ø¶[¡Æ[áNMLÝ Ê§ò»77PPb¯dÄ15º/Nûnj3¾·ªRZlÇ1ÉeShKü¶ì¡|^ö¶dSÙ:83ôÐm ñ
Ù1týµÈ¦¡1$ûÆ0ù»pì1ú·@ëô:Xº
+¡ôÀ´´¶ðÕM¶
+:Ùï)ö4âGÄð!ýLx G/«ë6¡pIäÍ©7ëx#B_`¤§ñî§8þÚw0Ó=máuèdïÞCC-¯`ÌI÷·Ë¡Ñd¥)VÇ`ý
.û_ ë7R÷;!ýüaü¥Ø¥3¡m³ÁKH)v#è#oHÍúÕ¾ëÐñVZ¦ç«NùIr.n¦»{×Ñ7Å!=©ßÃIbNêá¨äÔ7`íøh
+a.Ôéï£yDÿÑù}±Çø´ê2^@Ù#G£æe!±YY¦cJÊ"#òª#KïµÓxY&·-/§D15¢4%ªÚÐ%V颢®kTÉèD¼¬õÞé¾ã%Ð|ë
+Ú@ËÛ¥ÈlÌܧÔgêh ¼¦Ð¹|/ª7/]>(Bó_PK
+ A Û¡ ~ 4 org/gradle/wrapper/Download$ProxyAuthenticator.classUÝsSEÿíMèMn74ÄJ©X©1IÛ$Eü E ¤ `úa¿ ´ÛôâõÞxscé?ä3:¢Ì8>éÌ8:>øWøàÃÙÛ´¤;éî9»¿söß9»÷Ñó~p%G1¥á´>¼«Ô3Q¼÷ôqÖÀÆu3U(>à¼/tã"&t\ Á¤ËzpÅ@+o踪ãC¿nUy¢ëseOlÛðD¥"½Ü¤»áØ®(ðåXþyÁTGdz!\pK¡§h9rºöåôÄM+¢k
+{IxÒaíÍzî½Í¿.ß2
ïzüªãH¯`jU&ßéèä^wYú³d¾áz¥¦=ËuN¦ÒÅ»âks¤ÛDbåwg[%ØØÂ)çæ}ÏrÊÈwM×føŪ¤øcó¾0¿ W2\èÌ_ÇGzµ{y528 Í`Ì»5ÏW,Åtlg+«2àx
+Ç9¡_IE)ÌèåøsóXбȱë:np,ã&C_{æj]Ç
+Vé°ìnê+Ã[·q!ÞnÈp8ÛÆ+(ªÁ!°¦¢59N"ÉýýÀpt÷¶L2Rú8uÓüª&«d´°YQ¤¶é©æ¦j9$Ù¤â$_ÇphvnæÆ2éõÛ%Q½8W¤¥æ¨h
P¼YgèVe·{wðm~¼KTa²ZMæ©A³¼Ûîk¾eçè~¨F!r3Ú{ôÞh§îïî4U¬Å)U"âάݦßâ°±Døna]x'6éaJ¥W
+Ôôû³RH/aÞá>z«Y<®nI!hêRQ'¿NÚÒ4ÌÐÐ2[}K»<Æ4ò@6poÑVÝðð/iak:ÂßáÐ7°HêªC/f¾ö .oÁª£;Ái¨#ö#kø=SÿblX¼6=òºG¦"±<<RÇ+[è½OÁ¾z?HH{¾(Àïâú<¥oÐ3ÅXŸ¿`âoTðOL^E/Þ&«¡oáÙ#E"¤ÖH5MÿG =©£gû÷xÄáPI2)¾2C[`ûó7¸h8UÒ0UÒ²AreoByQåÆÈN£pé/¡ðú0}±ÿPK
+ A pOÌ) ¨& ! org/gradle/wrapper/Download.classÅY x[Õ>ÇZÞ³ôÛJâDI²8^I Ø`+ñXvBx±m%²$¤§,%¦{X
+´,¥t¡¥ÐÐ9Á@ - {éltöé´)3̾vhëþ÷¾'Y²
Içï|ñ}÷{î¹çósîµ_ÿÍs/Ñ*þQ)ÕÑxè?é¿<èý·h~©ÐÿxÈExèqú~M¿ñÒc4IaöK<d°Cô^:Ê.éÈb·hѨ
+zh{ÄÀÁ¬©\&¸g©\®p
r¥}<ÛC¯ñÑÌlU¢ç¡¯°_áZÂ=t/òÐ[|^,sUxè
+>OáóÅ÷Ñ,ÍRÑ,óмÜÃÕ¼B45
+ת\ç¡Õ\ï"ñ¯ 7zèu¾På^ÅE«eµÂ+¼ÆCWÒ*¯Å/Í¥*7¯CHjVø2¡éå¢iÍ¢¹R4ëDÓ*6
×+Ü®òmáf¡ûU*wx(ÂA7ª¼IåNAífíöÐuÜ£òfý·¨Ü«pHúTîWy«B'Þæá«y@åíBÆ
¯Qx§Êת¼KåëTÖUÞ-t»U6TRyXå#*ïQy¯XUxTáÅd[TO¥Ó¹ë!=5×Ç÷Ç¢q=¼9N©Tg$e`dòtàິ9bÄÌÈ nÆA,ïïÞÔݳ{×ÖöÞP°§l{ô}zcT
+7Ìd$6ÜÌTÖ¥L=fnÕ£ihgò¶öoØÐÞ»+ÜÞÎÄAQ51ÍÚÜÛsUo{(´«²ÂcЮ§»»½;ìêvµ÷ô÷íê
+vvCíYÂâåLþÞöuë20¹£ñáaq
ñäpãpRGÆýI=0r*w룽F2ÃZiö¨/&çÃÌÉ©èbfD½Ü²UÚD»ôJCán¦PàâÂÙ˦v:¥2ÜEb³
©µz£´[mñ°!TÄîôèn#Ù§ïÂÑñA=ºUOFÄØ&:ÍvÎL¶óã±}°BhIWçzr¢yÅ4S¹ ÃäA|ÛïÜB%>O"O|Uqé0¼øcLdÖ\L~¾Szvï1ÍæéᲩîÅ:)MáÂ×+uÝÏÚû7Ïèôß²g³ã¯À<òÿ¨ÀYZI¨¹#Ò¦æ5ðjÁ¤mÝl?ų±¿7hËÄ7D¢¨èá°ÐI¬É.l¤ÌHÌ=«p- Ú~`ÐHI,®ÈîF2¦G± 2ë
+;»ÓCC" ìhÅƱôh¯!ôqSv±as$OÎx#B9ËÚâi±¢¶^óóÕîDʽP
+26=or:Ük}Q#6sÊÏq.ÊpÀ´H0¼¡bº$Ë*f±üI%¥ýÉèûu¢à¦6N+¼Oáý
+È1GOqÌ©Æ?§:3õ:§
*x¯UOE§"aEQÇO7g07x×±!;m·2Ö¬n
+Êdº¬ºH®-V7+
+ÓZì2Ì8\¼ /iE±[£5~ÍÌY^Å&«²`fA»¸'Ù®'£Á57+ßBqm£[¢
+yy+ä]¢SNÀeÈÈH¤é¨ný9K_Ü[
ÇÉ*¬& t<Óø
+ÄÉp`S]TGж±°¸¤x]Ê+'§r4w<eýÒx*¸.98"n%+/¼©¡hzËÕ¶éuªä VyBñtrÐñZån¼ÝE_Pø?Æ7jôezH£{éI[QKR41ñ´Æ7ñÍ
+ߢñ!¾Uãóm3Í.R4þ$ÖøSôƽÏðg5ú}^£#tH£Ûé*ÛZò÷B¨ÄÓèºS£§èi`eÄ4
+ S
4þ<AÎÔÔ$viÓéWM±Ïí
+ß¡ñ|Æ_à»5¾G§ÓèôÆ÷òÖ³¹¥UfH#âò3oþÿ%ÑܧñýüF¿O Ñ/è=øN(\/ñ¦ñüe\!gÐ]ãø+?,¯ò×4þ:CãGø
+?ªñQ~LãÇù¶¬·DìÉ
n°Y1ýz*é9NF¸AèöÂOjü-~Jã§ùÛLxÓø~BãïÛû ñ:5VZÓ¨äÊìÎ ñÑÆßågEs(0¤Ãbá¦iÉêdpòYã1³¢9)Nýèæy4Xñl7C2FvԯŠ{åMÎÞ uñ@BO¦Ø~F?Ç%PâKãùÓámëz»ÝWúSâ0}}2µ
+s{ ;h@ÁÎ)c7ÀdúdËg WIwÂÀ}2²;-x£»XÀtnÃPâ\lOFn°+ÛRB£wéÇ¿Ä/kü=þ>+Ý ·¡UÖ À¯ xÙ4%Ñj|ÏØÎ_»$·býûâ§í}òk¯jü¿ûõ÷m¨¿Dã7ø;ìÒÙE
+S at P46ìÄÂ
+ëuS7qcn³n÷V 0-ÕZq7õùP+b×T`ÄÁoT 7©t"Ç6á h`·vÁî>+4ìдòMU!q³]V¾ßÒømè²N4쳫fìjPn
+G')J<Õ`)zd]Ö
KSKSꥩfùE^Wãò;HWE2Ip}îÒyÎLIr%®e(-ei§áë>§Ø#¾v:ÌrM¹¶ÁtÅo<ù9,Ç: Ó7ï·^SsÞ
+±'8  _éùÕùE¶à§Ê7aÈÀÅ ²¤æSI53PU{ÖpâV:¢§º¦|lÇ]9&
÷ÜÊ
+]7À¸jæÂN;·;âz|Iõô¥Ó)Eåoú?{\ëªcXXaYun~ÅÌW&¬N"iÊï<)ôo¼;b!á 'A´@[õÄä{Ê=º7I*.3.1ãÉ>)>¦¿àü´ÅòÁ¿`Ì÷çé5®OãÙgôàäï6>ú.Xn˳k8WzHÉz8G{Äß¼<¾°Äsb 3û ¨ÏGWõV1¬(Y9Uú(lâߢ¤y±NQû;@R²8úNµ@>{ÊcbãF!Ûµ?¸Fäâ4Ai3ÿÆ#F]ÑxJ<¬Åd¢ëÏêfߧ𠢩ü53c!)¥µJá·Ðà!j~G<eZ½Í¨vOî¹fKÚUÖî¤><*ßI³ÂÞtJð·Lhíþõhj
+²¶Ùn)+¿ðd¾±$±ÙvAuðOg³0 -néGx/»0lö±|e5;¦É2íù=ÿÃæ`Hl_|/üwicì;¹,ÖzпÈ,vBñË EÕm3áN bò5î'GusVEÿ¡n¦ó¨bº<ä§[èú·Q }ÐmôÜø0ÆÌ
+ãOç?ñgÆ>ñTEß'^«ò{»ýÅS~ñvÿÝÿÒп¾öK ì 79ñ-¯©åºúTrcä|F2ßÖ/ÑE4VÓýèÕXìô =(ÿZT.·gÙ
+ÈPÁµx©Ø±X¹y\cäî¬ÉrT¦®ºTʾÓKäí®?IãáZÎ,¦3xÆ%ÍzÊ´íèÄÚcéVøûÕZRéZJÒ&j¢njZ°ûRZF_¡¯¢-èkôu|Uê oHó<"%Ø\ß5wæÅ\9M>
*ôØ §B[#
¼T"» ,*pXøÿKÌY>xBzàIË08> ª«£ÚãTYS|5~çq]ãw'®§9µuc4÷8UmpCú|H%j ® RºnZGs¨(i£å´j©] ÅÚ#綺Ûê$NJdïtè :eO Ç%Í£ÙüwÁ(.û,ßÂÏSô´&kÏg}óO¿®«£rtÊÇiá@
+ÁNÐ9%7î E´ª©S*mm¸ÂVúQééE^P¿MÇlóõC®,¯ËÐâ»F*0 `Kpì´ý-98øú
+âïÒ³Xy\nÆ´ýLv3ÇXQü±mws«ö¡óÜãtÁÀ8-ÀÆKÇhY·ß¡åMÎZ¿sªá°Mß *ryEêíoß¡Æ&We5=¯6©btáOéZoéÚ2¿Ë¯fhåÀÒiç Z¡î§²qZ=à»xÖªòÎ-=¬¯õVÉoYUÙZ;ZzÏC¤aÊsøh¤kËàªZЪ¼'éR7öWsK3ÔttâALUú3tßuT¿+Cצúµ¥&El8NW"l×ùZ3Ô&ηÞ×^6ø1ºêTSyq!â/?õ,>Þ¦÷S|¹ö}g˯xÂ%´
+èº\Ûi1íD@î殣U¤#w×í0õm4P"4_´n¢(²f¨NÀgIÄY
+>5é{´ûßHïãÏèfú þsdÑ÷é ý#Ý MnäEtG7ó2:Ä5t+7Ðm¼ÙV`æ>`cÚÖ)Ø9M'ù»\KϧÄh=ôÙKÏÓÿ!h÷"ze8Ç:
äæÄnÐËÐGHÊb=èY,áéûôr@¶×º¸^A¹@â«@¤wÈ;ÍʪS¨C¡×z]¡7zS¡·d
+;Ñ ÿL\,¹.¨òJQ> ±`ì)Vè°BoO Uc°ÿÍùa{äE *~wig`g«êÇ©c %$Èh6âg~DMéÂO÷õë§-¾ÞÚ1
+¡@Þ\mnå¤Ð;¥Eö?§~~$ùëé÷à+ï¸u«KÄï<íÌó RdK
+öèë®?²éë¯
NÚú i2 ¶! ê|Wg£g 1SS?FÛØA:Ì PÜ(Îìà
Vó @w9êèdõmÉ%®\âj¡?@J°úú#Æ
Þ0Ö¯ÈÏÎÉÙs5Þ¥[öä(6á̶#C×tÕùvfèZß.Çt]ôî:ßn1tb<àð
C 69ëóF\~§ß
IcÀQëÎÐ^¢È1¬Ü+VFWú\»É)Ý5*2&üU"Óõ8¿¡z¾j`BH«°þ|TK·À½Î-8êHÚÂ^×ÀóÁñÇô'ÐÀûSô ÌGøsxp6¶h·¢Þüý%z½H4
ÀÈH»âKÚO诡£°p-L`{1è§"öL =Î IÅ!çXHS8³MVǬ°DƳÃîºÓt.òèBA¨rmMJÔ[:¼],!ëô<RÕÀÓH©§ó°Ó;OÄ7w5ý¼¹-FúÛvPgM-Öå¿ ÷lÌTbÕ»¥ªÉ¬ªr*<;¦³CTG1Þ»äxnìö¨P%P0á
+þÙ¡À-4àö»BßPkCî:4J}è<+ûV4½ÓFÿüñ*¢è5êB.ÚIoHtXÇ°-RÔýwÒÃÜÿ^Z¤9õ}iËi+ý¼uѤðC0ÂNZCÿ»B¥¦±Û¯Hy¢I
ܸ4ïbã¢Ð¿ÉößQÄÎIþÐ9¨|7òñ½^:J»KPK
+ A yL¢¡ Ê 1 org/gradle/wrapper/DownloadProgressListener.classuÁ
+@Eï+ÓjDËöEÐ@ÛEERûI¦#3cþ[> 4Úv»9×ûñ°ÂÀç¡OĪ.r%ãÐJ[ÍM Çñ,Èä]8ökß_ÃPU:â]3aºý©GÍÆ©±\°^¶&a¡t"-ãEeY²ÿÂè˼8\3¬K tÐBNûÐkØûPK
+ A !9|¶ 3 org/gradle/wrapper/ExclusiveFileAccessManager.classWÛsWÿYÒÚ«u|iªVÍMNZ*;±JlB×NåKÆ[t-دvÅjÇÜSB[(·¶ÐP`x¡3íL«$xô©Ì0Ã}á
0¿³+9¾%L=öÙs¾óÝ¿ß÷íúOÿýý Á¯t<gZ ãYµÌjxNG_ÔpNGϨÃÔî¼Íx^mMESKA-EµH
+1¯¶::`éÔvIÃb3lIÅDIGºquñåfxJ_¥~O¡ªcu,áJê§íÄññ
+_Õð5öñÉ¡±#ùñáSgGFòÏ
+t_2/YÛtæ³S¾g9óýC®SñMÇ1íªhñt«þDE@äv]ÛÎ;¾ô.¶"Æ,Çò Ä2ù|÷@tÈ-R°mÜrä©jiNzÓæ-=·`Ú3¦g©sõ,jÉ»Þ|vÞ3¶Ì.yf¹,½ìð]XåeËÁBAV*¦cÎKÆÍ 0 ã°Ü¬âëOUß²³×)T=O:~vÈ´me±¿{]ÔsdÁWÊä²å-3ÄQºd»
EÝ!£C½
Óq¤] 0E(¹Þ;&f£*2³B5ûþ?ÍÊ^¨¤£±}Òòè«\j÷L§èÂøC¶ÖlÙtGuZÝÛ5Ó["
+äMn,Ér¹QïíõÀôtÿ1)ß,,Nå@LÃ×5|CÃ75|K at gùdÙ·'ÂhÊwL¿êQ÷ÄÀtnk}¢2ts¥óÒ&J',ÛVXjÊt³%syNÙnE>]µ¤o3É;6ÄlK¡q¸oF3åV½B½ÖûîÌ>%l W
+Ä!½8$`¬ÍÀø¶À»ïDÕ²Ò3ð"®x ßèýD]AÌõÙ
EßU
+úð²Wðªï©åûxÀ¹cóLÕQ½V$ÃCnÕ.¦×O<iú2]6UÒÓÅÓ]/ ¾HÛi¯
~``§¼,"ÞâG~xg4¼nà
+¼)gLÚ½Vÿó M
+²^2-É L¯µ\:lþ´ïä(ö3¼eà:®jø¹·qZÃ/üWYÐ;A¯¶}3öÜrû»µS#»Û
+^L/xîR¨X |:Èu¬öL÷æi¢åYâåÎL÷v;®ÐáÌÖëu°©ñã»!IàÀ¶=¸A½°Ñf§UñyLXuc«ÎU\»êËÓ¦¿ pÿvQNεv5¢»ÇÔÒ|o9LêÞ»rקtû¬KùUl)Ëį̀²¾;¿Wv¢ö椯½74OÚÒ¬È
+¦+¾,1±é¸
+ÚF[F
+ýfº >#&¤A7zx N5@¸ïT3Ï(ïúåz§Yò4©}Ï
+] Ò³û4½?E¹vqÝÀ<Ì áÓøLø¥ÁNpÿ8>K.ü1´âDgÖ[A|ö4nkhéLp©Á¸ÖS½¼ÍESÑv\ÇcêÙöêÙ~]+èËvvRÜ÷5dwÞ¹ÈÅÊý=ï#rÍ<ª\KªåT´¤öúÛ8ºäloç7ð`.ÕÊÅSñ
+WÿßÄ®TU4]»Ýï¬~¨Tô®7½6övîãþà7ÝBZ §§Hè
+Ò«@'¼c ¥¿Klϸ3Ö1·ÿ¿ãcÑƶõDQDDwp>¨äPõzp}ÕÊ@8B gmγ*&_$WÔ
+ëö+ôkôrÖ}¿F¿A?~Ô(µAZÆÇ8ðÃñü:üÆ°qÁ¤Ð8
+Ó"¼Ø
Q±câ ï?
z5)çqj
sDP·hí hô F9Ò¸ë§uì>cÄÑ~êþiMÈvz5ÀHMü¾ ªøð$?b)n¬IPò$)SÐþã¢üݳhÑ Ç§B¢¤<£À¿q¢ÏÒ0¶Ê.Ò¶åÃx½dÐ(§øÇWW½§w@óMìߥß5S<
+a<õÀuõ.«Ëç3ôäGhí¹
GÞAtü=£dl¥Ù¦@]±
ùßéçysýùü:õmO
+ ²¼8x4ó?PK
+ A ì,y - org/gradle/wrapper/GradleUserHomeLookup.classSÛNÛ@=$vÔK
+J)$´ÄÚÒE¢`@"\@¤<E&Y±#Ç¡¢_Õ¨H}ìC¿©ª:ëK äaföäìÌ9ëÝ?ÿ~þ0QIx&c\Áâ
+Bñ\¬_DÐ) I
+Ædè"¿1-òYþeceq7µ_M/.§ünÆHç׶6-u`ºm:%=ã{SúÀ0tßNomé\~ÝÈ1t,¹NÅ7?kÚUNýïðÍl·Ë_`h'²mKn6t¥,oVö¸·cîÙ\èp¦5=K¬ë`¿oU)×+é%Ï,Ú\ÿìå2÷ôÕ`¹[áÞ{ÄS®{X-ôÎRÎ'j-W_±lNo7Ìr0FÂ+y¾`×
*·ê¸à2ÄI~*zÑÇ0qOi$¤ÆJV OîÓ^«x9õ¦@Ñø-Ño©wSñ Cßíö©jÙEî1D®Ú«x2+ëÉÚ`óøH}¯·níðß Õº5B'1´¸¿í¹dÐ?aß½8fw©§nBÚqç
+qhNaê^-ëN
3ß½û0Þd6ÐÃÒjELU1tS&>Õ-Þsc-ÂÄg¥ØONQM}(1á ìÁ#jR`ë¿Íiõm¹õßP/ÊQ«ðWM:Üâ;"¢¬+) Q¤g<Dº)`£W%L&|
+Ã[þ¢[¬_%Õâ7p%wvM%9§èÐ:)¢ë"»aâh`÷éPK
+ A Prº« - * org/gradle/wrapper/GradleWrapperMain.classXxÇþ´§Õ¢r¢"E;"L1XÂ! $| @Dà ´înÅÞ%Nât§F§'q
+N°ÄNwzïÕé½â8ùg÷tº² }ù>4·óæÍ+ÿ{óÞ>ñÐe kÅ"ÏT±ÏR¡âÙrx«ày*J$¹ÏWpøñB?^$ /Vñ¼Ôs~¼LÁËUTIÆ*¼B.¾RÅ«p^Á«UÌqɯQñZ¼N½[÷Èáõ*îżÑ7ùñfoQðVuxZ¼]Á;T,îÅ;ÜçÇ»TðnïÁýòë½rxÞïÇü¸ ¢ÈùU|ªø0R*F1¦â"R0®à#*6á;pÙ+rÃGýxXÁ#òócrñã*>OáSø´ÏHÎG¥H?ÏÉáó*¾/ªø¾¬à+*vâ«swìki·éínßw¤£kWû®==]»áãú)½1ªÇ»m+jÙjƶ·÷ëѤ!,ØÞÖÞÓÒnoËÈ©N³ìíílïÉPæP6lÄ#ö¢Pý~_«9 at máHÜØ3¬ýXÔFýzt¿nEä<MôÙÃÀ²°i
+5Yú@Ôh<mé##Õ¸Ãpg»ôHNùbü:Tè²£]·(¯ÚcY at MKÞ©[å.GÄlÜ\-±L.Ú#!)ev[¼%#º0øQmg4ÒØjÆbz|@:»Çá¡ Ò~3~ä
+ùºÏ&l#¶'£*K@ëÄ6ÊPÌ;Âøy¨tôdí#{e"O,!rýKÚhã$]úéÊꥱf~DÍ¡!iì¯(Eî«HSÚÏýIÛ$ÿ/þ¹\öö3ýë¯18úÀ@>D*ämpnrg2ⵡ<Z~\«Òe+«°ù£LOid&5âÝØ»¯k(-Ê!vÛúcä feÜn³5ª'mÆàv3h·,ݶÞb>â$¿¯¬
+MÞS·NkÓõb©vI«ßpó|NÁA[-2<D´§ãQSаÝ[C£`F§:¾oÿüÓÉdN`(ÈZé²JRàªaæ°oáÛ
+¾£á»øyN
+LF[`Ýÿqþ4|?ÐðCüHÁ5ü1&³CO3~)ø¹_à"xÔpOWð+
+¿Æoæ{¸Õ)ër4ÊSî.¦Ék$ ¿ÍEpn·$FYcI¾ßÉá÷Ë=·±h%lN$^L8ס?àZvÑ%wçêɺ'ÅþIÁ5üÕð7Ü¿ãªà*ëÄíÌk@YÎâ_rß¿<®á?xBÁ5:$1CE§bMp×9ADj2'ö%ãv$fd)_ø5Q*ð
+ÒxM¨¢L`K«vpÀ 10Ø/ÏÝñ
+V0I?8h±`?{Ó1=a/M,_]Çý¶&41Sª+WD
&*E"¨S©öú\³pU³51GÌeFy¨ÑÄ|I\ ó"j®y(¥Î
¬:² Ѳ45O÷ÆOÄy»&ÅPýtºSºÑ³^GDW¦ÔMÅÃÖ-ÖP2fÄí©LËÈs02´Kj\¡3²ü;yºÞxöάmNq`¡2ììv1o¢]vS%Ýì¶M£*gIai®ÏÌòR#/ I»EV@(_1¨º
+ÓùÐ-ëZè´úz®Ãy=¦0Þ¶BS5øÃ×UãU^'zçjN1u(ã8äD*Ü
+î¹æU==]ͤÁCd~Óê`>EåZxÊÇ´0Í×-N7J3s¦àD²ç^²ìÖå}Q³¨.oVüBÓµÌåÓÛJT*&©Nåu]§Ó66«Gé>ê&O0¤VÄ>ÛÏÓ<QȯÉáÂ#1î-/ ©«7ïZk¬Î\,3×N·sK{åÌ6Ç)/¡ó²Áê¶ÌÓòé #Ã×Ý?l8·yãdR ÙÙünwk®?HÎÀÝâþ!=^í±WZâö¯83O¶iç°Ñ¢!Ãé¹.MxÍLÑB*¶Íô£ÌÉTIÊïBÕ¸°Mt$O Çf/ú<Ó³Mï~{]Ûvä<ʦy"9ÂËNè`ý~Üù'5cvs6eweÍ5Î÷dÍ+8ß5¯ß¼·sì!¥¿¿Å
+£ñÃÒ˱Ä!±£æ2à ÌßRôá ¹¸Y§Qe¤=2¢ð1øvq(Þ=¾Q(M¾_
+þ5¾âK(í+
+u÷ùZw
+3S($WHr¥$GwkåÞê_C
+³JÆ0»I©QH-DzÌMa^
+55\ßäçÕÈé¦ÒcXÔ¤Ö¨
+ã¨í«)à¸!Åã¨ë#ó(bÉ8RÖ²Oz¾Ë t¾Ö£+0+±«°«Ñ5ô&b±ï
+0p3Î`îDîÂfcÎc+F«Þáv'|ù^:LDKqGø5¤¤Ã(¢û¡ã¹öâ$ú1@Ôrn`1¸sÃP¨«wÉÃå9Út'(í<m"ÆÄ=&¿ùI:BYEü]LTB}+õ£hÃ
+èVd&Á(w¶ì@Ý®C§ãPÐãç+â8$¿:©ò!V»!_eäJ÷ß
¼,geY("Ñæ+í¤Uü[h¬Iá¦Q¬Í·'KÜÜ8>RÓâ#3øÛPSXÂú6¤póm÷afxúVâ+TÑhNaó='[}°¥¯¨¡{[Gñ¤+ªå"¶ \§ÍjEûGrSh#nÅv"×J´¤mË"в
+ R5h!Rq+mÜÁdè nÒö¯û8ÅY5wf ®kü:˯
L8wõ©ü«o£TÁÁN
JUùM;ÜçdPÛ(KaûÝåX,';Rèf¡SÂXtj1A³ÖÉDWiø¬QåC7fSZMù8vRzUâ¶üèD³Ä§Å <ÃáºóPK
+ A úâæª Û " org/gradle/wrapper/IDownload.classEÁ
Â0ÿÌéæ¼
-^õbñ¼«
-APô^·26J;êt>À;Éüùó|Ý è{èz~¢+%5Oé&çWÎ(Ùa
_Ê4[gR³#!XÝbQVg=Ë{}1±¨÷A´üYÍëCÂX¥'R°Êð¢5Âðc/¹JÙö¸$þ£æS@pP¹\ËmKuíØôlïÀPK A «øÔ 6 " org/gradle/wrapper/Install$1.classWû{W~Oö2ËfZp[hÑFØ,
-¡P
- mC@Bcu²;l&3ëì,ªõ·¶j«V¥j½Tw©%mëÚúÿ¿úWø¨ï7³Ýlæyö9ß|÷|ß;ß9yû߯¾`þ¶[ð¸áC22LÉO"3Nj(&DAÓòd%pJæÓ"±eÁÁMb¥$>/²H|T8#&g8ó"y¢ÁGEác²|²Ç':ñI|JO'pAÄIâ³ø\`øBO%ð´<>#ÃÅþKIBþ²g5<§á+
-]g»Çvó}Â*=hÙ¦ÂÜ)ãµÜ¬¬w+tNÁ*ûç°º¾ò¬©o¹Î¸gÏ9¦lF«D-ï:'bÅ3DO¡7çzÅlÑ3
-¶=ë¥ée'Ây¨Yö©Ö0cÓFÿc
î0m8Åì"
-âþ´UîÙª°®]§ì¶-zcù{.¤R\v«ú^ozSQ÷S¹f}eÎrÌÑÊÌé5¦¤Ý9)Ë1ód]Fe
-PÐGl£\6)¹kÍôlã¾£tÆBu¥{[ëôgJóÕ¤ÈVÂm¡"³ogG|»p=Q1¼Ó¦ª/wL³PvÏ:¶kÔ 2¤l4[¢ûn)g1m²x»ç¨+=×õÖ,Ü÷ùR}ïZLnd¯`;p.o$fYÃW¹
ún¬:eæ%Ò²1«è~Å£×}âÁùçbþH»°cnÅËaJôZÖ·{ÀÉÛnå>dúÓ.[Å×t<¯ëÀný¥_ÇvîÃ;q¿÷`A|¾Céø&TXÛJ£ýË.xAÇ·ðmVq{ZÇwd=u|ßÓñ}~ ²ðC
-?Òñ2.)ĶÏ×ñcyýüQëõ¤ó
-âñg~®ãø¥_á²Wtü¿Ñq³:ª¸ªaNÇ5¼ªáºßßÔ^=lÚ¦/NH*&ÖõÎÓÝkx]Ã:~?hø£?áÏÌà¸óU*.°Áw©ø&þ¢ã¯xKÇÛâòl~ÝR,'«Zk©°~ÉbdÃd<
-wÜ8Áæ=Óð+ìjÛFÚ6E_^$-`yÑô+$Æõ¨1c¶Ò·Ñêķï/ݦ§,ÕøAÃï"
{ÒízZksê´ÊÃõÒpùyÇrs%qî*»vÅ7þ4cäóf]x+ûpîûkm4rugg¾£IÏ÷,6ÂôÂöÜÛz2ÅÂJ³v m_Æ:Ú¶'WÎ-´.(C,UÔ
-1ǶËêÜÞ®°ÇûòàC©gl÷
->¥FF
ùÇ»[Rº°4+Aö±G]ü-ÄÊÔaoÿß°[+JÛªM<:Ò½íϬîÅRrfÚ(çè"êSæ}³ïV`rn²ßMóñØt(7Xª7¯Ðv´GoZ3snæK¯Ø)vÿßW£fW÷ßr¥½uÔ<+"là}5ËÛÎVÄ»ºä°8o¯Í<2§f0óàf¬¼ºGøÄZïåÓt@ã¼1³y*sï,:2}³dRÑYD3©Ø,bT|ñÌUh¯P³pÓÿ^zð¼û0¹ñH¢½w<
xW/_Gâxæ
-:ªXvÉãWÑ®ô*w¯àPÅÊ«¼ýP©bÕE¬ß\E÷E¬¡@0|±z·]-»_½hd×Ñ9Ü>ºî"N/gÍ|h*ZÅÚ ñ>wÔT»STè«â*Uqgør¸OE¯a}©hèí®:¬9Ü=¼åù<KÅ®á=òô.
7·¹ARqî%DSÏ¡gâÒ^¯yUñî*«Âxüñå¦7ihÄQwo¸´ú9 ÐL3w¸yqcsØÌ\ß;]Ø!Õ}k9ö#MNí"rdÒ$yT ¦É¢çäF]aߤÅß±ÿÀþ
aµÔ&^J2xX
-á ªàuÔóU/â°z ¬Ä2úy 1Nñ0âø'Y4dySãTZ=GøVaR$CäWAíÇ(aä·pL2Æ*zï§íc5^ïÆá(%QJÆ»ö¡ÇB_°7©¢ïòôÕ Ì»á8è¿ÇùÞ¼Ä
-ðUÅÏ4øû/PK A ¹@$ ö) org/gradle/wrapper/Install.classY |åµ?'÷æÎÍÍ°B¸¬#Év4( ±! a1 â$wÜ%ÎKëVVZí¢u·w¨¥UT4*¶u×ÚZ¶ÖÖgk}í«}¯oé{¯o)ïfnnnAÀäof¾å¬ÿs¾ó}yõoO=KDù£õq@E 4yÒòÐäK£Êç¸òx
'øß~.D!(c¤)ñd"Ma§rQnãiÒ¢)<CæÏTxVgxk
-¢é<7ħò<é)æ4
çhq ¨Ëä³\
-i*ó¹«^ä
-/C4HÿÒ /çr÷t;#DE\äò<3Ïâ!>Ï áVáU!Z^«¦^¡°Z(ä5ÒÓ¨ðy
-.ÈMA^+Í!:×I³>Äçó
[B´Çy£<7ISâͼEánI[C´·
¨/Tx{Zo3_äòq±4
-ë!jå6
ÛC´Û ²ä·3»Ø. òNyFEÂñuÀhùÜÍJc)ÑNnÆ)
w)Ü¢nà^YÐ'^âÏóåòy¹¼]!>¹\á+ImÇ
-«.ª'F)\ß°ºvSÓÆõ-74®Ú´±q]óõµ×04]¢ïÒ«£z¼³ºÅ¶Ìxç
-¦quxÒÖãöf=.W1¢ÎNÃbÑ°:«;-=5ª{,½»Û°ªA¬F=ñhB0ÍöØX.ݺÝUcmQ¡<×kÁúì9X4Ýèm¦æ.cµ5jÛÛdr×Ùª½(4sÈÎ4㦽é¢OÑëÓ59¾Ø¥üuÁ4¡ÉÍ©XamÔ1(H´ëÑͺeÊwºÓowðÜLOÎâhÒÚ-C·z3i3á©Á÷ v)K·ÍD|E©ët3Q-6W´g30)h{ËlKÉ÷&+Ê4Þ%7ìêM1¥0{JK¾hé²TiRTT¯ÏTøjt7îfZr\+ϳ
-á\oZ¡uVæ[Ínù-£[%þÜÁöTæÍxnÉH*¥^Ñãë2zØÄ_#<ÙáÏ!$f¹ÓF{Ê2í¾êµÀ"XovI[VvÓ3<ãÝ)t
-=Qm©zζU¶¶>x_·u¦<0u%`6FªUÎ*ÐÙiصñÈfÃ2;ú²mµ! Òo¬zc SíÛz#ÙnÝ®ËüÓ:ÝV7SGB¾¯{öÚ¨¹gä¶RÖîreOG_]Ѿ3)¾YZ2VÚãjÀTb®`C½ÝNéQÇÓyÉDÊj7<ç½ÝF»mD`Ô
TÓ¼áª_·¬ym£íæqähòZÌθn§,c¬FÓô0É´¤a7ôT¶Xq½aÅÌdRPMm³°Lf0~Fd¡GÜ´#¢ÃzuÂé¶íLðGÃ@§»
-ù8˨ëd×U)3êRÂFÇNcÎ×eoEÎÆ8XZ©n?{JÈMk1Ðç~Ô%b1=(S±"aÍxÕLn1ãØ µ¯¤t+L$uY1¢äOËÃR¨$SÎ~yñlïbhOÞæø!_fBñ9±í\#n[}_8vÆÒjä¤$GdrÎuYýç)}Q±x*fdµÏË1d·P.J|Ec¹§!:¡=ÑݪJ<s·T.Ö`-&_T,ÒÎ[°`Sç5´¿t*Êé] ÍBi
-³Z(¬¼wÇ!Vû]¦¨"´Hyò²!ZO븹eÖ¡Uy2´¶/^*Ï?Å'WszsY&\V´»³£eÔòÖV·8éÜE¼W%ÓTz^Péú{úi@¥Ó/TzQéú;®¦/¨ô=ªÒ¾OªÂE ñEºN¥Ýt»U¾¿¨òu¼Gá/ÉÇU¾oPù+|¶çc+5o¡ûªÊ_ã¯C
l
-Í-kj+Q¤(|£Ê7ñ7ÕÙ²bDè
oVù¾UåÛøvïà;Z¼k
ïRùü-ïæ½*ßÃ÷JsÊ÷¨ü ½]`xñTÜ6cF&[3]|®£](hóóµHÂHjñ¡ü´u3®éñ>L³°Ù&$Ui
-éW³Z²¸fôböi3óúªPcó_×v ºU~÷Áö«ümÞË´ýB¤y'Á"¡Å>*?ÌßQi/Ý£òþ®ÊßU¸Ë)³Ìv'kÍKR/·£sbzÖ¥ï2´6Ãk¶ë
-[ë1í®ªâ¸S[1ÍîÒm46߳ܯu[ ,´û4XºOx¹H«L#*=µ5)Z53 ãX¢#%nA´t6FvéåZiºf[©¤ØË- ªD1-»ÒÔPSÕhÅÉâøPZÔ¤!·;cñötmWã8
-d´Z§@3 ò#ÆGU>È)ü¸ÊOãq?¶êá´YkYzäNèó*?%oðýLj3ãéø<ÝùXÎØ
-ÕÞ¹í]±ßò¥KU~÷gU>ÂÏ)ü} `,kiZaaCµÖ=\Ìi «Fèû¡ÂÏ«üïÚ1UÎüû´;¦òüHõ²4¯°P¦ÊSùUÞbAü!±ôÚдÕʯ˴Ù^°1Õ%RÑêÉã(z}ÔÐ3MNÁp:"Îìp0Ø£ÇmÆæþÒ³©@I$«â¨íTþ¿¡ðUþ ¿©òOù-õ¸e ÊoóÏT~ßE
-êYû¨ô;þ¹Â¿Pù=AÇ/ùý!K©ÑTþ|Ì¿ìÌíu#·iÙ)9{Hüð¸[Ðé
?Tù7|Ê¿åÛ[½' öêGõ·èäOÉCuÜå3ÔÊR£46Êsþ ^ jÄs$ý%¥£o¦uÆRâyªÖ§Ó¹ùL× £ÄvNõ+Ñæenvæ²g¤ÕNX9ïz, §Ï2µÙØÛSÈøq»ºÂI¸ãp7W(8ãS.2p`ú~ñvè¿Ðã`^zÉéé`rÛªÒFhêè¶?èpa¤EðÊ
-ɤɹ%̷k/K
-K=ñÀq¥Óîrâ@xåt9£¤nìüÌýJűuõ´CrYÞC)3Ùë¶q>t8iÙ9Ä¡¾m¬{<õ)ôLî%æe0¡.c»Æ¥HÁÉQTØÉÚ=I»Ñ_ÛLDS¶!ñ4rìCe ?ú°Edÿ×Cá³ìdn£[¾¢r¯dô]ãËI}yr/#v®=JÇ\¸äÉú¡
-"è8óÔãßwÅDèT§ÇqrQW©©%7 N¾ê-ÇÙ¾ø4¦S6&Ý´±õ:ÇÏÐKøÇV9o'VN(fÅPQV¶y¿8Íûp/ZMJ_IoP±ɹ:ó¤9æFIòeæÂF²Çút©ÊtÚ dÅÎÜ Ô-7TZ2ÿáÈXáä¦D'
-aÙs<y(¨ ÞuǧFçn,éºßó(\m÷3
©.=¹6a
-Q#ÌÀäÇ^;ý9zÃÌĬ3º×\ØN÷*6<ìÆ175ÕÙ6qu,¼Lñ¢%p4!FÍíAf7èê£R"Ê¥0]NWÓøÊ¡«¨@ÎÖx/¶óÄÙyâ¼çdÌÝC_Bûe|]
-~<ç
-P^Ù
Zò'Ñˤ¢qeåH)«8D²ÊC4þ Ãáz´Ó)v.Vj4
N
óh6ãí4º#e.Mú
-}ÈyØy©r7ËÞ¯Ñ×Ñ#Ò¦)x®,ï§ kÑLl.{ÆãeR?ìï§\yL® \80HSZËÂpnEyå öÓÔç¨èÑQrBÇ2P®¬4ª ùGÎ5.·+éFº åÒô
-ºTB´n}}X[F·ÒÐlô¼î¬¹4¾· }«ýXy7Öà¼êêÃèaäÚi)¼v¦·Ðfß2ÿ¤ôt°&·Ð³fVsûiæ2¡ÿçú
-¡ä¬}G?ªè§Ù5ÐrNë i5oY°0<{-DGÃÂàâ+Ó)5yá¼~ë¿òÃÊÄýtê°"]ó¶ìò¾£o~*6ËjöÝJh+ ±
-.¼æÐvOÁP;ètj9"t.´:èbê$ºèRºÐ3 ´cÂ(x1Vß#åÑy´î£û)(JgÌz-= #!b°êAzRL ]´öì¤oc
4¢ô0}f] ®ðÀs%}¾7eøz4
-§1"Pk.]s+¤Ó>6Hó[JüÏPi«¯¢å0ÝåG0ZT²7=\9zØ÷$UåP@¾, YhÙhw>=T½9£i³vÞÂ"9X¹£ÇAï ôª¤çz²u꧴NÏÀµ¡òEª+« ê¥ ~Á´X¸¥`â^ÞÒêGÇâÖÜÊÖ@Ø/ªÔä>FKOKýiÙpÌÎur^EùÇ)È0¢ñtįöopb >±xÉG$<é¬@5è)'çÈà?Çytâ$[©§¡«ÔxJ¬ÕÒr`ùt î3î ÅxÔ4W>»Ìï[[h¸´ÊÂÜE5p VÜAjE8ð$C[vçÉTûf¶Cðf¨u|s+ÐmëÛ!ðt6Ä
-ð ý'H§P9=KG°~pþºðé÷ñ+Âe¬Mû1jâ½÷ÜCèùcÚâïyzÁM§ü>¸ä¡ÿc ê,äTÔZ^°rÎ^ËÍtNkàªmõ¬ë
-êà8ø¯¾eÜü¶ù
-®;÷N: N¤50VcÁyýô9q4ýÔÔOk÷ÑêAjn¤u2ý ?@$S´`ÁÆEÌ·©µ&ø"
Í.ÔÃÁ~Ú²yEÂÍûhªËv+^óÝ×»ÒlæÛG3Áðrº"¢÷#ÈóqälQÚ{`ý{a±û±é<ÑbD}
-æ¯BÌ·!Â{çW#¾¯GLïEÄ<(Ø:ÃÞâýqXúbcp< ¾àý°ßv=Æé%Xýjl?/Ó+à¸fÑ«bÜ,z^kh'ýÞÆÜÓOÐwÈy{ÓöÇÏL?u<?ÞÂï]oÒÛ´sä2+½qnÅÀ~zÁÃtñc¤÷S[SyA{?Er \ÿßLè8< ?ÏÑT mP#Lu)¤y«4ÞuÂ*GnËÓ|ÍååN<Táa¬õUMà2^³_ä
-äNÊõØíXÁÔ
ÃB¸ñÿô2X½`x&{
-)ìu$üWh¡]1f½G¿ØãÐ}XsÌÿ+Gäås-§_;æÊ«þô®×N7
-Rìw.²º$=M¼\Â0ÆNîÑ;¨H4©té§8PúÖ % ñîÖcté Y( Â~éJdÜSûhüTX9²ïèÍÂtt·pðÈAh´å$uÛy¥.º5Ñu£¶Èw1úMÞah>:V@˳èCdÌ@écÐú=%è ô{ÔaÿZ ®ù(}|úOE7Àó°Ý~H¿m·cý-V@·`þ¶
2½þ!½
ÜÀñåÎÜ &˶büàåfÙëÑ'`)äGuÑ\^ª¢uÿ._QéÔ=ûþ °èE<§Fsÿöß¡ö_PÔü
-»¿BèÿÎ@D3"CÁýÅPñ#gãìÝ> ¦þÙɬ'éÏ îØ9¢°RV-8\3;
þ5ÍP¡KÛD²fvÿýG:XªñY¹¢¼I«î4ÿ't»8pbÿ
-¹kÒé à"Þ«Ýpd´
-¸ZÎÿÐÿzÑñ8I:ÿGKy=¬#I'3£2öô¤ä/Á¥ (¹ûzvv÷õ ¹¯OÂNìéÎo6îλ²Ü ¬pû¼ÁÞ´aÊaQ-séóNÎAÂsn㩨øÿPK A ¥y0ºV org/gradle/wrapper/Logger.class
ûoÒPÇ¿Ç*¯1ÆpL
-EWo1&d f&û®Ki¡ÿ
ÅÄüü£ç¶
-X³sï9ó*þþú
-àOHàfp+Û¨&Q,D];BÜp AÐ`§wØ ÃÚ3Ã2Üç±êIí^m{À²]Ã⯧Ã>wÞ©}N6»¶¦Çªc;8¹§Æ¡Ôµ]Ñu`r壣FÜQº¶®s§Å5m¡Pí©TÅT-]é¹aé-PòÉDÕ½+TYÆb|ûTuz|<åÆ[µ
·(N$Ö&cbXC3ÙéRãWuÄô:Á+m§Úõf=mdÏ:?2ÄØRþlDL¦BZB3{¸/áAQH£GB<â å 2ÃÆÿüoúg\£·Î+j®±/ø÷>M\>¤{JQ¿ÃVÞÒ
-\ZWÔHþcÚÞHX¦Å \´âáÅÓ_)ÎG½t
-}ý Ð éÙã¤FôÖIfÉ:B~@Rþ &~ ò¬6H®#Jò2bØ&J9Ïò¼<MPiØB!`¾Yù;"üh}Ø2¸ eÒ¯.³spN¶=p;øU Îùà¿¿,¡+¾N!ûèÜÃJî£ËZ£.côÎûè@wgX[
W ^#HÝË~ØàBÛ¥Þ"¶GZÔKx-¼ÒÒj:
Ò5(¤ÒK
:½ÜðâöÿPK A j j´ V 8 org/gradle/wrapper/PathAssembler$LocalDistribution.classR[KAþÎfÝÕt«qµ¶Ú[´ykëÚâ[KA!´
|(L!NºÙ
-MÿJÁPð¡?ÀU<3Ò¨|Øsû.sØË¿ ¼Å«9Ì`OMôÌÏ}¼ôQ&øm5ÈT0ßè"VY¼¯ù~ܪ+Mðòc5¨ì6îÄ-ÚiÑïKùñÞ` {ÍDjÆyTªò½êôñIÑÉlóàÖ²¶$,4T*?
-{M©¿ ÂFÖÉ¡ÐÊäã¢km¯Îöµjs¥à M¥®%¥ydwªµÊ-~[Øùÿ%»Ruóæî<Ç[5'_³¡nÉë$Ù6¸ E<`=Àføõ±AxwìÆZIDÚ?7»²
-U³Êò46¬óáñ?S at h<pC@©d,Úoùçì;¸|/G[#PôNôzBôf÷ë,QÌÔeÔ,!A+efc,ùc#£n´ae¬óM|ÏDç(þ#÷lQ[Âàz`LHx|'ؽ >¹ìà=WÙ-øíÄüºPK A bøi+è & org/gradle/wrapper/PathAssembler.classVù_×ÿ.HZY¬m,c;`HeL!ªÝÆmMâ+¶+ÅNB´ë²»²¡Wz¹Mï+=Òº÷}ÖÜÐOó{ÿ¨¶ßÙ]K &ùAïÍ{7óïÌ·ÿþÏëÿpÿá<C®ÇPÀF)Ã
-WQíMYX*J1Ä`ÈNY¤¢°evbPáÊvE*nÅp[1lËçð±(>Ã'ðÉ>
Eú´ÏÈüÙNãs2|^Åm_â1$ðR_å/Ëð1ôU¾Å×eþFßâ[1|ßç/GñÝ(¾''_Vñ}?Pplº´®'Mǵ͵k,ZÖ²{¢¨;á(8uy~lrzjuiaj~õÊlnjuaq>;sYA|ú~SÏu«Y «0ªàðDÉr\ÝrõbÅPpdn~ö©Åú©#[Ï%Ç°¯6EÃ7c2E&"é^RÐ\V(å©vtÚ´Êæa/êkECüøeÝ6elÜ
-¨û§Kv!ã»ÊܲõrÙ°3sº»1ƨ6©iÓѱä~×âíhÁp÷ó±leë)f´×ÍBÅÖEwtð-½¼pál}¯-Í´t¨ º¦;Æ.DFó4ëv©Ä0l¥Ê\ÒU³¬`6ùæì½8[d^ØÅ+º³AúÒC-¼´<|xÓp½`LÃqôùJ±^±Mw;Ûû7õÃkÛ®TgÛµq
-c<±ÇêÔÖºQø8&Ö66K7©-×°æå±£
-%KÎÌûõÈ-ÃÍ,ÍgYè\²õ"¾¯Mãe¦]AFÇ!ýþÙhTHÊ¥½nÈ&+}_
-È
-£xTÃqQÅ+&ðC
-×ð´§0«!i^ä½5üw4<WºÅxÅ,æ
-[ÃEç'ø)Éhø¬Fñs
-¿é¸£àü;¯p±ñ+¿Ö0YÞêÜä#*~£á·øßkøþ¨áOø³.Ø&ÍeÆÍBÖr ú(â¯hGÁñVÐÓدX®¹iìù³w¢T)æVÉMl°0¦U®¸ ¿4FÄö«Âßðw
-wñªD|WÜu67@
-5ÜcòÎÆWa3ɶhx]0]Ödþb¥0DÅzÞ*Ý"Ä[QH`f×n뼿ÍËÉÃÉÁæj<ÞÔÕƽëJ¶¬êfå9¯#âÊÊ+~[w:()éPni!¸gnCËþaò1ÃXËV¼¿·ò°·Ák{©Qpúÿô¿'d½÷lXÎùª³ù à·¯PrPX¤RÎë.=×Æd$ $³þÎd¶e²RúxcgqÃ.Ýѽ:ãÉ[³×ÅdpHÉ!§²v¿kLf[ûñBE/:Möü²¼ºmÇ56}^çì³çn dgøUt_`íèÆ#¸ ïçª
-I®?°gâ}r{lãê½ÎáT
-Ê«ê%1Î@Bx¢¤ùJø0Æ8ñÀÀãÔÝH¥_C[ÃÊÂ?¥Byý¥¾v`I$% &0Øü/=©o§ÒU´×Ê¥jϤÓ5D.v¡®È_Ñí"¶RCWZãG8t8Tq´ÎáûºÇöéÆ÷ézÒPãPdÇWRÝáîH
-];õpzád(8JFO!MÐCØ°Út=´Û"=¬~^f.Úxê&µ.S°ø ] 5¤ò R¦ÃxR|2Ê\
8¤°½5iDâöÁï4%ðwÞÃòmÔ±
-x8Oò¨áä<lmòÞïðºrtØ=3Do=»8½"¢Þú:ªxp'·ÄJü3ÕÿgùSþ®}ÜqGcîd²ûéù,}¾÷1þz1ðDùDZ¥¼%/:ú,{èÛä%>Km)·®tülõÞA8½nïâÝ
-^â^4O2SÓ´#ã³ÿ¶î¡õ<¨ÔXÁU¯Èùéø²©-vzÈÇC¹!IÁÀ¥>:Úê=WÅÃ
-'Kqh¤Øã´ÞÈJOÝkalq8U¯b4^"ñ/YáwIàÿ%F&Óñd¯ º¶t<å:¥èãé{`.w$-A½ÄGX'^ÑdîWû{ÞhBú4ëõz}9Xeuè{®ídé$Ö¬{çóÌ T_FV»Êÿ PK A dzÌß = 0 org/gradle/wrapper/SystemPropertiesHandler.classV[S[Uþ6I8!ʽ4H[¤µ[R/H%´*$%¥^ê!&sâÉIoõúZ_gêoÎ8ÎÔ0È}÷G©ßN"äÖÊd²öÚk}{íµ¿µ×Nþúû?¼o}èŤ)ê0éÃuL+ñÁ#où `VN"R»¡àms
-æ}h¤Q9.H±(ÅMT,Ix¬Ëx§+XâÜä¦k>ÜÆ»R¼'ÅûúA#îàCu¶ØZlyzþÎâÒÂ"ÅôLäsÚ}-ÒÌD(æØ4MYfÆÑLgEKeuú Ã4k®ÀÀ{ÊÚ µyÎ0õhvk]·µõ.Yq-µ¢Ùn'idç,;JØÚFJmÛZ:Û¡ØnÆÑ·mÇÐ3³I·ÍÚºSé8(¤kX¡#¥
-Ó¬c¤BóZë¼ÉcèÚ¿1ÓY§à"L0±Î#daz'®§Ã2ésÝÓwH³Ù-ÝtÊ9ZXßÔãQuÆEý#nk%?>ÊYnMCyÚEÄ.³LVÃ.9õé÷1aé(ã{7ýç£å'ª\m¹Æ
-1#ajNÖfégs}â¾µãz§T<(ª¸Z÷Õ2Iî¥ ®b\ßQ ®§TZF¼«"¤
-CÆn¯QrîãIJ¦clé%ήÊSMfÔn\¶mËîÝNêfoÊÒ6èë=®[ï]ærUÅ&îIR±S&d©Hã#¶Y÷¡«ØÆ/Fæ ]ãâ3ã/ð¥¯T|oOÞR-X at -¥mn¯+Ûü6ëPydëËs
-9vöDxâ)+#ÉtLbGÕ÷b ÊT$5\/¶Û³ð^Ç*x;Õ@"kdPbYNÚÖ¶ì|þõìþîÈãÞxäÃXf¯M±éÙeðÇ Ú* $µLTßa·ÊS?zeZ*g?ñe¶Ìªá$ùÕ"µ«OéfBXÊû:]Ï×w"5Yr%ä.ýûG5½\Îk p¥ÆòÄó8Ï2zÇÕÁϯå%ZBGÏà>ÄïyH?e}ÞèGR- 0A
-Â0Q\,¾Hà·CÔíÃ57ûGxÂCCýü!5FöFGrhà×·uÜ-¿ûÉz£P×ÑDô©¶æZ¢5¶}´?Ρã ÑxëTºÆÝ~wgÚü9t?ÂðÑä¹zÆ=~µÐ9ä÷ä]gé=À9V÷þ9zùèGq9?ú1q4Ò#E;åYxqÍä±úÉ_Yëçg´9Q'-a³Ø´> £õþaù¯àWæI\b´>tä.aôwÚCtÙGzm¼ð2)Õp+Gé%µ´qôâg\Ák,
ßs×0K0Q,NÁwÚµ|_§öF^{ó_PK A Ì
-^F ù - org/gradle/wrapper/WrapperConfiguration.classmOAÇÿÛçÖ>¢¢"í! à3 U1UH|C®p#åÜ]5ñSi"1ñ
Àe½[ ¬ÛÄ73³3óýí\ûûÏÏ_ æð(KÉ`6îq?ÇÍ<7÷¹yÀÍBi<dÐöm?ðìV7°]a°qh~2
-Ç
-Íõ§
Þúé[¥¨§c:m£I5§-÷½3¡ÞTóÀ_XlvÒ_ìãh¢ÞÔ3Û±%xµ¶ÍXu÷©oØõ¶{Ô²¼÷f«ÞíîmÓ³ùY$Áí3Ô®×6ڹ߱Ïy|lyÆNäW]ç£Ýîz&g!Ü|Û
-Ö.¼¼PÉoÏûrS±z±³¥QÑÓ*§ã.®©ì«ªÿöªFG»gDÙ©·gá#~ßRTN?GÎï=Dh¸¨CÓíz{Öï~TµàYþ
-Ñ^_n.¯5ê»[Íúæî«7u
-È3~!þ+ñ5×Pâ¦Ì
-EÞ8õ_®:_âFëÐÚ0þ RñÅøí¡/_¾$|9ô`ì0v(ÏÈë?ÀôRìq½8A2SaþÊ/Fl r)`¢1PVQf<Ã\äy-©GæëÙ°gâq\â%êñn}ús\ ÍÍpÂpÔ%&ðHßÊp7 qdR 2Aã q¤F½ÿ0üâ[J¤2£¹IÊ s¤ïR J¬² ¹£ÉÊ Ió¤HQL)AR2Ès%HU
-AI³Ò¤$@jJ´RWèj´²N×}@Êd:ÔÜýPK A ÚþÇ ( org/gradle/wrapper/WrapperExecutor.classW{×ÿ,yYÈ°1 B1w¸SÜúP-jÓÆYKk{¬«à4iBz¤é]Ú´!½OzÇ´`Ѹ =¡Mïû>ÿ~y»¬Vb¡ôóç÷Þ¼÷ãÍÌ[½ò_°ÿá±ãÍ2êðDOÊâ OñÎ[Bxkoáí2Æ;d4àq.wÊXs
-$ù.ÞÍÃ{øà{yxsßÆx>Ï;äÕÂxçóð0ãù³çÕGÃøÏçáa|çOñðé>ÆgÙϱøçeìÄØļú"¯¾ÆÙü¯°ÀWCøÏ_gö3!¼ cæ}IÆ7ðM½,ã
-æeq5oIh9ÜêíîêO
-
-¦zG%DúNª§ÕÎêL[¦: aI·/ZjÞ:¦æJÖ*®CéB53uhø¨¹º>zh|Çî=ãé~ «ÆzSãéáÁ¡ZD§N.FA3-]+JXi^²ô\gÊÝ'ó+RGôÙßhKêF'Ó$Q1òú-}9Õ9eªÙÖyÆTt®ó¸=w©Zº§CMIzNjë°nÒh³vŪÁïØsVËèº,Y¶´OÏk¥ ÍV'ØÖHQsÇTSgÚÙd¿½S²ÃLÕ8ZPÏëÖ6×Xåª-Ç$Ht¬Ù=g3ZÁñ8`Mëèö»sieÁÔ
-ª©ÖH%1u Ëb[lyÍêêå(%3S¹
-Gv
-(ð"墩©Yi9:3ÔlÊa=O«©3®äto¾P²ìí!,P §4ËkYE;UW,!ûò!¤ ßɱ·R/U.çËë2ìSý*{¤f
-¨æùÙä£ÐmH mwR(aÅþm
-À׺[ì¨1C>/¦ð9×@U°)v«q[üìUÚPe¯Ï¹»EÊjj)w³Gí»+¤1_¨°©*QIg©Æ$OÛÍÏiõëÅ"ÉUÓ"yí[QS[_Âúÿ]2ä·F%Äjäm²Ã!·Vº4¾Mªýy/ñ0¬àe\£þ\qx¨·ôÍ0 IǦh<:IÆD7o,nf
-"óÕÎRél¥©`
-NpC
-á;
-¾ï±ÂïSÛ¹ËêQð¼VÁ¼ZÁQô*xÍÅà¤'ë)Õ.µ¨)¸
+^õbÁë®*AÑ{ÝÊØ(í¨Óùl| JìTf $_òçÏóu X ï¡ë! ø®Ô<!L¦_9S¢d]~)ÓlIÎ`uEQfZ=ô,ïõÅÄ¢ÞÑòg5¯ cmRHÁ*ÃBÖhýä*eÛS.â0úOÁAäZp-·-ÕµcÓ³½ÿ
+PK
+ A 9lâV " org/gradle/wrapper/Install$1.classXy|wÿþ²Ç,ÒPBhZls/á*ÃBB1m !¤ì!³3ëì,zPmG½ëzXE¥ØlBÑÆû@k½oÑVG=ëöSE}of7ÙÝ,)1ÏþÎwýÞû¾÷ûMÎý硬Â?æa,nܼ7¤%£2d¤yrG·ð"î_Ì+/áæ¥Üçæ ¼LF7^ÎÍóp^Á£»e¼¯bWËx
+î áµLúº^Ï²Þ ãx¯¼¹÷â-LøV¾Q¼½1¼ÑîãåwÊxÞ-cHà=ܼWÂûBxá!|HF>Ìai'$|TÆ:Ü/Ó ?&áãNJø@ÅÕXaXQÕÐ7é&° ã°zDèVçÊ&¦§6ÝXÙú`ÚÑ-³×6¦LÍôv·ÓeLµÌCz<m«L'PÛaÙñHÜVc±ÕdR³#}^ßOJüáb5=CꪵëzÒ JO¡ñHqb:CzjÅJ奴´)G5¦Û¤º³Eà®ÙPj;ë%j¦Õµ{üV¼¾°C7µ®tbP³÷¨ÊË^ÕÖy]ôó)vÓ$ñJi4½j¬h¦CûIE©¢¦¶8¸îµiÑa teO¯\$h9Ùù¤$LvÉ)ùbA£ÅSJÛwn?ÕÙË ÕÖl|¾©i±T5b#ÆÂZJ=¤µcMq¬dvD3tø
+O:í¢%ÁU
®;̹¯ºvS¡;¶ïüGwªIE§$ð Y;ezJÂiËsÎt#ºsð°eÝózô¸©:iÔmIg eG4mÛéDZɬ®=r¶£ç¤\l@³ÝV Ô©9CVL§<1ÛqMج`7ÏÃ
+¶bV´)ØÉÊW¥`»Ct[Z7b`g<³×&kXÁgx¾Uð0&|ÏóÚðE_Â|_ð5_Ç9ßÀ7%<¢à[xTÁ·1)á;
+¾ï ªí(ø>~@Få @º«Yá%üHÁë'ø©)ø9~¡à<~©àWxLÁãøµß°þß"NiÓÍavÂyܲ 'ð; ¿WðüQÁø?ã/D\¨V+mĪMË©N·ëÉjJ jÇ¢N4 º55e-$õ¯|à¿áï
+¤ÀÒiïu§MGOhSBÙWtìäå³%+i/ÆÀ³FàúKLÑ\г¥Êva:PÑ^hw4*\ókQ^\)¡6jkªãæ®À¶dQ|5\$çÇ5gʧöò@¢yгpú6`Ù&ÆewÆRæÄr,oIàÚRe¿¸~멶Ð\s©nõgçB²së`Ê2Ò¶KuÈ1j4ª¥è¢ZIWU|ÎWPá1æP³jYmÃlj9ù49ÞUÌ[:¥ycìc)G£«Ü§Ùvþ±NæÐù45gõjÖ¼yÎ!±¨BRgáyq)¤P1.(Ìe%ÔOßWßU½¶N·qMᡶøm;ÖguhéwXñ¸Öpg/ÙÀ¾¨0aŧM[˦m»ií9l¼HvX(65¼ºÈc
Àá (÷)ß÷Xô²,JË|®{v³g>BúT᫪ÉßÏD¢ÔTvjßt»7°s1` tù.U½zÿÊ{ÒÍ×z¶e÷%ØøK)y9XÁÆÿûí¢u,5N V>]¤æêE¾#¼+§Ká%TÓNÈ>+*ø)P¿%ÛÓÈíéMäöô,r{z7Ñ7¢~;ð|ân§Ñ Ê Q]]ýD]ÃÊêÇà«ûÇà¯Æ¨Ç¬ô QáfjĬÄ-ÔVÑI@º wÄèAÁOÚ#=¾[`=eòYúëDYóÎBîG¹7S2_¹Ó»V}\6õõT¢/z&pygÃ"D]Õ©ÓXBý~i'´ò>Hþðû6ÓÜ?e]ËG1<« ˧LhñýYQbWfI+¯"Æ®&¢ª½ÍkX|ØÏñ!ì÷¤]Û³x+ZÜÝç
+´Â3¸N`yt½ çe¨%X¤¤tLϬ¢ppµ}'þ;È .zÖG?ÚlÈnyjOà¶@èô,dá+½©/;m.PǶ-"
«§Â>òG=çd©k-«&°â±¶Ï:uý<ºb7LB"!ô1ïw1u7®qÿQÕï5§µè¡û}4$¼Ç ß#òãï; Ý' ߧ ݾ#Ì=I¨~íb nëqر]â vö¦na£GÜ=âzÅ#Ø'Σ_<ñöâ¸[]LLúa7öORNõv?É®Ç^IÒ~ômFuû5âqôÓ®À¸rk?ñ÷à YìÃÓ¢/ÀAr
+®ä i¢÷ön#O¨´ÒùöIIè~æßHv9BÂà,{%4ýþQA#6? :T±Ò.î¥"nr8õ§Jf¯âdO0%Ú!^Ça·áî%`¢F´¶Þ_7ö@þPK
+ A gh| - org/gradle/wrapper/Install$InstallCheck.class]OAßi·]ºlÖT)Ùò¡ QÄhRôÓï¦Û¡,,-ÙmÕä
+H4xé
?ÊxfvûI
+m³;ïsÞ³3»þþø`Äa9AaE2]ÕQãÖul0UW\ñ²~"RÅ#þ[NÝzá¸â1]8àÛôÄ®ð}^¥é`
ËkUk¯á9µ*ÒÃUæ«ßà®»s(ìcÖ·ãrß>Ãvî¢z©X÷ªV`ÂúàñÓSáY!%ÛM£:ÚN½BE&NM¼n
÷]åªns·Ä=GæáEý¤eZ÷¶M ÃV®·ÃQªÇ85§ña¡2 ©m:Tq
+ãç8¢ÂÍ-½cHî5¸}¼ËOæ®:É®
++¹¡áùXè Ö%`k@ÿÑh6$h{dPï oµ¥újgʤ±Woz¶e;lUBLÜÀ®04a`ÜÄmÜѱɰ8¤#7qKooÊGÂn0Lÿ£6©½Q zñ"HK4KK;4&('w JÙ&4ÆOÄ÷YþôÏJub\ÞaS¸Fs3X
ëaÈ&òl a¦¸ÈCÂ>eQ'¨üX~ùZ~åÑ/mLJÍBcsH°Rl^!3ÓÔLÂÉf#ô£'yN£¼Ì
öºö Zô.D»¼f»¼&Cð,ýc?cc£ªÏ
+y1²;ëë9ÝÅa^rH|Äd¦ÿ
+gqo8:ø~{Ç;âï\&N*ñb{³»Åì2q°Ï90©v>Y¡úPK
+ A ^,ã¡ C- org/gradle/wrapper/Install.classY |TÕÕ?'³¼ÉðØ"!#ÈJØ@±IZõ%yIFfóÍÐE[¶ÖÖÒ]l¶¢MEÕZ·ÖnvÕÚ}Ón_[Zú?÷ÍL&ÉCÀßÇ/ÜûÞ½ç{ÿ9÷¼;Oý÷ÁcD´ÿ¤½\$ÍYÒL¦X©
hJ¤&¯¡ ótgx¿óH<SæfI3;ÈgsXs<Ï
+Ò+M©Æó4
ç}Æå®Ò½\©qU¦suîã2R#OåiÆæéA^ÂKÔÀËäu¹4+¤Y9ñª ×j¼Z¦×éü&\àó¤së¸>À
+2³N¤oÂõA*áó¼Aú&7i_ qsVa;n¦EÍÂg,}K·ÊH«ÆÛ4ÞàÞ)o
+R=·I³+H?æÝ¿Mã·Ëã
Aº/
+ÒF¾Xc#H
ûFnp¼tJ³Rc3HÛ¹Kãî ÷pDK´SFöi7OpTú4+çDA¾BN±-*¥|ô½"PÆýAê«öðÞqô7~4ïÔø]AñfiÞ-k|
Æï %´ò{eÁ¢ìUAú»¸¡G¿óÕïÓø&½)²h´¡ÇìØ£^ã¦Õ5R)3ÅZ׸¾n{ó¶Ö5µnÛÚT¿}[Óæ¶ÔmÛÀTÔ|qQ5âÝ5¶w¯fß~q{M¾ÉMtwÓæÕ]ÓmQ³¦×2IÓªiVXèLôÆ£ £i¶aӺ̼ì4ì:k
+ç9n¶äÓ`Ñt³¯#NE.3×G¢f]GJm2âÆCãIM$±×2]Xö:z½¾&§»|·!Ñi2MlÄÍt¬Ý´¶$:èÃÈ{fÐk÷D๮;;¾ôÁË4ls]$e3rÕ`§Óá]î´eØD|u¹ãôH¢Fl"®èÈg*?mVШÛ[ö´¼o·¢LöqÓ®Ù¾µ $Åù$=ÆâeË[Ó1¦ÉQQ}]Þ¤Æ×a¸yô0ÓÒSZyîUØY×E¬PÃ:ëjó]¤¼ÃÀe)¯[0Ù¼yÏ)É¥Ü-z ötWÀ²`w=§ÇìÃx¾íRÄ$³)³#mEìþM@' ¹.Òm¦lðòt s»6Åi;FL¢½Þ7l©ì ¦ª^I"nµ=¤ÂÆïÓøýÝ¡ñ¦^fZ®þ|nM$¬Fi=ViW¼dp:7?7A|0¬3SV$éøØÛ± í$?æ£5Íe ÃzC"ÃM0ýÉlÐG-\3R쵫5¾aXÍLø*±RâÜeec;¥âl-æ8
+N0:ì´UP)L%ÒV©bÙ4;l³SÍ¢&¡jØOùªû- ¸{$©FObÖHwÜ°Ó6_x
+^c¬ ¤L»±Ø³Å[L+I¥$£¹AÑÁâ´Ü¸*³s«it:É4ew&Òv¯jëõ +fض"ðFüÀ'ÙDgÌ-VBÒr}:u8q鬱2c͹¨]ó¿ZÑÇV: £çwÔÅ8âOQÂÊDÆI#©81èê)+ßµ©CWØiFMI·}@¨¥Òêxxtô@Ë°ÏÚí'<»F¿Óñ½h|¶kå{ÀgÆm«?çe`,AkIkð@.GH°dlÎÌ(¬"¬<fñtÌÌ¥vËÛiÊù¢íͦʱ»grêbwVk*O&¯ÄäøîH$ûóÒÓasä§=w
|ÂÖ
@OTì4?æ.\¸©Ûõ|̦ÿ® o¡4¤Y<,ÅRÂýÎJáºK®¸Ê2Z&Ö9£üâ+Ëkù©y2Eey^ÕgÂk×ðâ²ø-§±øLÓsAßá]VÉ.«Ï ù18.ÃjÑÂ3V«êXp)[¶/2¡guú
+ýV§é~J/ëô8=¡ÓUtµNï¥+u A®çcã3*ueÑM:]K×é´®Ñø#:ïçêü1¾YãòrÎçOèüIþ
+Ï×Aû"aö)oåOC
|
+$Z7ÔU£ZÒù3|2Eþl^tåÏòí:ïÐù XçÏó°Ük¿¨ó|Hç»øn¿Ä÷HsXç{ùfï£.>_Éί/ÂóKSóà 3'ì0Ê\ÛÄÃF¼dÎääÀáÆ̶á.¤ÿ°Ù³<Ú^£ë_ÒdX¸Íí`XçûùÎ<¨óQ¾éí'"³w
+[$±7&Îðéüe~iã©5×0ÍévYÎÇøa>C·éü?ªóW`RîÙ!µR¤Ceñp¢Ëmi¸Ës;Ï)ÆÛ nWÑî1.3Ãí¦ÛF,)C¸7b÷,(«O
++¶{ïúÁ0?´Xh÷¡G¿ìå@´:Ñy4,eS8ÚX.ï%aÃh<t©í2ËÃ]V"ûØV:%p*¸¢X8¿*£¨«
+¦JãÙT¦á/;2Åeò
+ØëT
8fBçÇøfEÃøÚÛ+^$è¾Rb8ûÖYÑ/)XçÇéEà¯éü¤<}¤HLÛ#ñL§P:¬ìî짯£'@äY±lÎO#ÖÀååçtþ ~ª{9Èr9¼9¿ÉÏ£oIóíJåÊE¿#ñ=%ʾ%Yöéü=!ýúÆ/èü}þÎ?ÜY26ÇdLPÑHG;Uä 6Ffãpr¸:w%¬Ú°äiüc"Ñ©qÃ/ñO5~YçñÏuþ£ÆÓz¢Rç_ñ¯uþ
+ÿu¬k¥Ó«ü;/ü¿µðÚIçW%õýQÜ<s´6(§å§áü)±ÿÄÖéôOÿÂw
'OþLóO³B`F¹øÌ¿à³>W®ÊyiÆë|5çã$¿Ìã´ÇJô:ßFV3(ìÇÄÇGåUµLSÜJQõÙ µzYSôns»JA ÜmÚ#µTV>ú.eÚ(¢¼Û)e®÷áSÙé¢3¹;zC1E£ÄVQ9õoe ËÝÉ\õµV;måÜ+H¿ù¬«sý@S¸Àé
+0âkÏ®ip®·CN¹ ÇAA¥A¼.r¹s(?Å(ë|í®/k¦t²Ó°¥öÂ9_G4¿3Þ²r¹<2Kª;ÓqvbÃðÕQqY+üøê¶{¶eO±|?Ï(kK»mª:¹vnä;C¤cIºþ.u"¨/§1Ìvµ°«ø¹}Ôìorëô¿ï¼©È^X×O±XÎÏna_HØ#¹
X«mX¶x`¢{ÍF:¢ÀÚh`d¶ûUÎpäôYù¦E~úºøÍKQH+s±¥Ü~8NvªkO%¢iÛxµ$?^Ì>'ãÊM×zçþj2 8FHj]¶¶
=N êÜS_6bI¦Á'â¨M£4SË\nYT4¤ÄÒ"n¾£¯´^#b£îÀa b3/ä%¨W¯ÓÜ/'d¿³§2Wc2¨mV÷_kÎÉcnÑ$EnÊ^9æÕl8ÕTbIDÙ÷Ç3ºZ.º²
ú=@ÍÞÏ
NzM!W/îµd?ªéù¶d
+x¦y§µåê,'çE.··æ~¹ÊX²Ys¢iÝüÝ#Æu
+hömî: ¦ÔÕeÊÁë]^¨,ß[#oÑ&ö©M Ël1¸±0.nöÙ×ÑþÉ%
+ærîý±=ÎÍxhYc.¿jòuqÇv2ûzq¼tí¥r"òQÞMÓx+ ÷PÜ9à¹H. T¿®Qýµtú³@{=½íûñv8xÑϤÂ!
+¶LO~ÆWT!¢êù+ªÐÃj N~´s°2LSè\È0fS)æÑ
+©pxÒéF"õ$2±z©
+ÔÈåÁèèÃiR4ôk+hâ&4Z*î§ x\ë
+y¨¨Ö'ÝYµ~ùhJ[EÈòUUVRñ M}Jî%g9t¬ ç*ÈZM3h$_¨äÜàìs-ÝDD>ZEûé£à¤¥ô1Ø×µt3}Í OjͤOáÉO·bµ+?5øwôáû0ÀÌþ¢iG)´i¦·UÒÏrïäIôå@¯Ø[p+ͬùhæro±÷S'þTòy¡ä¬'~Q=@³^ëÿáª:»Ö;Dá¶A:§ÖçYî/ö¼Çn£
éDÈ[ì_òî£4§Vit®÷Ó4.ä´pæîùd¨tçU~>xâ9ÙnÞ=r"¤ó àyT§z2Û*FÛµºAt.÷ÐÙ¥ù!ãXgÑJaEè7PZ¨vRµS?%Ð~z ù.À®&¾B¼&-L>K·Ã8!ðüÝS&ñ|Öh-£ÏcV\·?çýôa
/ÒJö}tîÌ-t>Ý
+.^ì¾¾D÷u)i'ÀÖ¯Ñ^J4ºW£ûX£û^£Ùë5:ø/MÆ»Fa>Nó4jxÆpå
+f y<}"<èk©~æ3 )EeÞ¨¼ÍSÕz*Rå=©Bæ¹SÕ£§<ÐDÍG©æk Z8H&Ý£d_Ì£B´WCï}ÐøÜu âõ´³çâaB7(}9u)²z:
+ÛËÅô =ËaÖK_Ƽ®,+saNl7<Ç)¬Ñ±éÇi.¬7Â,CÇ,OaKqTCõTWQ5Hk½Õ¢Kn¡E@ëÒEË4¥`ekË[Û|Õm@(\ë¢m!ß |øpÎû±ÝÇhn
+¢[j _ ÌÔ#7¨õã=HB?¨WÐWð$é§!gzL¥Hyp-PO_Ua}X%Qþ7ækø8=s|áC´
+QW+iiõZnM´^R-Î<¶Ü Æbßmtâb'ßtôªö - 'ø^¬íÜ;Áÿ~½¦À áUÏ Â¬sÑd(Ò×èI( ÉrnÌ8<âæs0"
+Wç
+c}Í {rÊÅNÆÿgèYçØýJôÇplw¼¨¤²èÍT·[¨¾Íÿ5´yÖÁëEð9\¿¾uÎwòøäqä ¦´~6¶
+ÑmòÞ<H©¥y}3l½6ôÐ[ÚjOPIH+ÚêÄJ(Ð:@;ÅÄÛZÒLí<â¤8Jo 6Ø%
+ã¬Ðh78¾èít¡ÀÝ ]4@6Å°ki»êoBq`¸¦¢}ÖýÂÉy R-`VXí.VöÀÓ×±þàô4ôøäàö,üÎoà\xÀýV~Gy4 ¸îÄiôæ$øJAÿ<vë¡Y º{.¡ômP{±ßô]ú|s=h_ ïcl?<ûý@ý±Saú¡{1Põ£Ø)8}Yã¯A£z~¬ÑF
+
Ól ¼ùD$DÛA²s|lB/f¼ILM/2Rû½Ô1@ÍEæ uÜN>ï!Ï¡\l)q_èßy ¸ÿHcªÃ!£Nè%³"r§òûJf×£0ä»*Ì ëÞäY;«
+Çá9
+U³ä£õòy]åA¾Ò¥Ã"ÍQñý,ÿSlü2bëgðÅÏf£îeZL¿ËE`)¨~9/«)ÖÌå/+r~XA¿R~Æç?4A£_ó¬×À¤@~/ʱ¹DÒCÔ#ÅA¤Gý%çh0y2ps&~JD»*yI@¿J"¢KHVÛ¹AJ
+rIé.ê=Hãèê
+i<qvíJ# ¡ ²±.ĹoA6lÕÂ#ûÐïÄ÷åX Fô*fÿ$ödê¿ÂLC©õwdç ²ø8¯ÿRéÔBßþÈ6s]ÉÚþýè?ÈÞ\aV
+þ~{]âòô
+ü=Aó*ýQaèÆ©oÄÎÎ9w#ýYA¾'å_ ' ÿâÕ¤ý&"Ô4úÛqZ¤QìJB-í2a
+J d8òþ
+TÍ;'¶c£Ð?3ç¥ÇÒÉ8R-°ã̶åÞÓªjUÏõ<ñ
+7Ù§wø¬S%*vðs&ó8ÉPL¤¹<)ïL/ÍéZÚå.¥k)ìú:ÓÊHпU]uXi]p\jûS1=) _ü'#t#VÉ¢UTâìWÎ~µÅ%BØ!Û48Ï1·&.ÄÜÉ9)ÀW:Z^¨|ÝYëÃ=ìuYì?½Å>ög×f_kî«ãÏiåw´n|¼ÎO!\êy¬#
+ÀÌøNñvåä|5ràä-¦LÙ D$ç[\çñ®î,pßæõÝùÉ<w+<Xt1»ó>1¨ h=OÆ×`Þ/½ôNÔmSÈùwç ²+üPK
+ A ð¿:öo 4 org/gradle/wrapper/Logger.class
koÒ`ÇÿUncá@Ø&s*]7¼11$KHð°`²wÏÊ®³´¬_ÅO¡Fgâ?ÊxR5KÓÓçrÎÿw.éï??h G·b¸Û1TP£º4w¤¹+ͶUÁ]èÉØ.;`XxfXû!R9¨öèÓ²û!Ý1,ñj<8Î>?4éd¹ckÜìqÇ{ÿ0â#bÇvtUwxßêÂQ;¶®§É6m!Wéó÷\5¹¥«]×1,½)Ê@F\÷s©®Ëµw/ùÐ'.Hq«Ï°3«×:âNW
¥fuæâ
ç-Ce"Úè!ÇÐÔl·U£#;²m"x©*@o¦ÑÛbwí±£=Côj[Æ$B#
+î%q<LârIðX'Ò<%N`×Îø¯
F ®\å\cñï~¹b@ö¢rJ[}C#qi0¨ìÇ4Í¡ÜzÙ|æw/ïþ\L~ÚêsW(Óß5ÞeÙNúS¢´Nalv{ÑÄk?ÀjÅï}¡]Kd&{¬JoçyZðVRÆä|Í}_3]ûÐ'Ä¿"\?ED
+gPP¢õúpz*¦UÌ{QLæ[À5Ðó !1!DßÖ>c±I![3Ì¡Jg´ÇXó&Õ¡ovÂHIFiíó
+Qª¤V÷(µIØõ)rµ
+/,®Ó*üñÈåàê§Pæ¹*qw(¤PÝ&nü_Ý7ÛPK
+ A é` ï 8 org/gradle/wrapper/PathAssembler$LocalDistribution.classQÛJÃ@=¤ÑÖx¿+øP«ßAA(*(¾mۥݺMÕÏRPü ?Jݱ*/3sfæÌÙ}{y°ù,RÏÀÁ6.¦]Ì0¸UÙJ.da°Ôà7<q°/C±Ù-íIÅÞL¶æ½M½hùÁÙ«!W8l_
:åå2~)®ðð+©q7é$uÙb2µ=Z§d¹È8bð¢H¨Ý·ZZ6J±ª5Å«¡no6
+yRß¡ú
+SK?Ð
+~M$_Sæ|aùûYê£WÐÀIÜVÑ~Ï5ÍóÁ¬>¸Òp]Ì1¬ÿ_ 1*BÕ£rCT» _qá¯iX¤OLÑÏZðµ|-¼
+Fú²dû SM>W|+®<Á*®>Á~0TÏвu²h
+âYèÐ&ÒãôBbÃÝ5y]KaÝOäµèuºF~%ÛßÉw¿-;<y}ª)Òù PK
+ A á¶; + & org/gradle/wrapper/PathAssembler.classVéÕ=c-#ËãÅI°±Å ±,ÉI 8¤D¶,;õF ÎHËH3bÄéN k-ûRJ÷î¦%R|ïßÔòë½3cÉ6r/oî{sß=çwçÎû÷§~à8>
+ãVZGÕ0T\u
e/ë<©x<6¬ðÁÅO;®òò5ÖD\£ßã[øvßa8¾Â÷Âø>ã~ÀÖ"nðó©0úñ4ÏxVÄs!<Æ ~ÂØù^ä@?fë'"^
+áe6_ áÕ^áuöCÄnÒóri\5-CÍÙªk¤¦)ÆXI6MÅ°ÿììñ©å
¹ÙåÉìÄòÜülfú¬ÈÔeùª*ÉZ15G´â¨ö1]3-Y³åè8?;snbl¾¾«£hÈ
²`*Ƥ^f7ª§TK
+
èªúe%o«ºq]@ðª©ÖicÛ½·ÏøÇôEíR5eÚ.çc^Φ˹.ÊÊsoÑoªäÀnS.³Ô5C®T#u^¶VÏeò4WgQ±¶Kµk¶ïa÷IB¬¨EÛÙwtès|æ,XÎüÖ(i
+( MeZfC
+ëm®³´îLä4ó¬jEÀLì³û%òlR¢m&es,Òе6Aiº¹½¬¦\TÆÕ¢bZú]'SÉÛj]Oe·¾&ÿ@îºÅ
Ûr1-@ ÷n:±W*>AÓ 9KÎ_Éʯ(:
+¥¬_U&Ö,E3Ùý£@êÒЫWÃ/M±R³]$`yR½Þ7½)x
Ê@Ä[Â7MæÈÀî5¾?1mÓm#¯ð"ú¶²áFñ¶¯â> 'qJHã ñ1-aÑ·¿5¼á] 2rÔvRIÛj© ~Î>¿À/I_ñl¿ð¶~wÿòÏ1Nøßã=Å´ _vü?Jøþ,á/ø«¿a]@·Ã®L1SiµÑ,¥ÈÔÞgQüiýCÀ&e ·±:kkZV¶¼ìÓíR!ªéVtª6ªjÛºu3±? ´É¸ªnIø'§]c¸èç¥Mngoð!6¨X¼¦I5Êåp2J%Uͨ]Ñôk:ÿ¢Ý
+æ39nÛæ¼âöŸ+~ÁïBÄvè/íÔ\w¬i¡ïtæ)Ò
+¿ÐgïU71KßÌäpÓÞ¿-Тû
+Qs9zÃM4'9KºLÄDS^QUÀæßsCiëâþ~äöóKÌ¡c»§¿kCqWp{?6Ä]-hW
+²Eá±iN:Xðб»²7iz<ñfͽ±2¿jè׸:Z¶Ñ%ȵÙ;åßjÚ¹ÍVº/iËß+åq[.;â¹<:taE¢{Ñ1ºùÑ»qî¡Y4¿wË|ntdG¸×ÑS¤wÔOh¼fKäã£gg¼!¸xò&|ï;O;Ûü4 ñ ZEAV¢î6<3c1àXÔBvç0p#¨Â_C OÖ'jOú7ZâW57жTD³ö*:"4ôøi¨¢«ÛN6}#Û|÷lóu¬dcSpÝK=`
+{×ë¹õ"Hã å#ÖCØO¢kH:9Nºë9ÞÀ8&(£Vº>H"·Ð.gÉòÑÞ2ù ÆÈ;C
+(sdÉþ(&ÍXÓÁ8ôß¾*ö×pût#þ°K¿A7LOà.=æлaêô*c1Q¦w;¦z-üÏð¼GûxçH¤çz³xÇtÐú6пä'Rj8Øu¤èzvKÃtVG>q"¢Ûò!×ïÏÐ]>.J}6ó»$¢38Oøm$Ñ×1K{=y':û,8ìÉBÈÓÂcõeÚÉ%×ÜYÅÑûûÞA ±ðõU1Èù¶ë9:¸e
+í´¿Q®Ýu´n|ÃAÉc ÉÃýÚé¶ÄW÷ ÚÉ1{I§X6ÉGsôt?'×ýþKU5Ð÷QÆ DvQNÊ¡qZ½u½xF {±ìDsñ9\Z!ü];<:ÏSîT"Bo!ÿ -ëÈp}æ[çSóÊ)2BeäÔTjós¸ë/Ø#þ(Ñct`Âû\:áSÈ×8t´ÓûS
+¾â'ý)ÍãhýPK
+ A Íë | 0 org/gradle/wrapper/SystemPropertiesHandler.classVÝSUÿ]°!,-Ð
+Ò-á3TR°ò%A(õ£.a,ݸÙâWý~ìãL}ðÍÁÇú2cÇWÿ¤Ú±þî&
+$¤µ9÷Üs~çÜsçÞýûß?þð"¾ QÔ ÀÞP0Oc(xSNÞÚi3
+fh@Ô99¾-żñ T,Hø;õXÄR=.âËr¸«~¼À{x_¤¸&ÑÖcæør|!:}mn~v":»BãÔvC§53;¶a&#
+ãu4ÓYÔÒ9] öaÎ'Ô³(à·Vi=<eúLncE·´´.Y -½¨Ù^'edú§,;NÚÚjZoÚZ&£ÛáøVÖÑ7ælÇгI·Í$u§Ò+p2T(×°ÂFZô¦9ÇH§µãüÉmèÚ@°339§à"L°°?6½Ð3aôyÖõ-&ÒìdnC7rfWÖôCÔ¡L©.òÒê-V&Ùª,5Ù·³Ö}î½G¤£ÓÌc^Ê^8ØÈ1Ùܸ£%ÖáæQP°ªÊuº¸45'g3ôé\?óz¸³z¤'t|Pªx§öÖÔ²)®¥"ÀÑj ´=¡Í2¡b
+ë*Ò2ñ*ýhß«z>g:ƾÏÙV¹¥K9#½ªÛ]QÛ¶ìÎÍnv¦-m¾Î½v^g-£*6`Ja©Èà#Y"GANÅ
+lª¸-|,Ðûì÷g+[ò*øDŧøLÅ縥â|©â+|â|+ÐXyvyÊ) î'ð1MnÄBʶ6w{/(æè¶æX,£Ö(~>WÙ¹Ê##IÀ±=×þ(¾DÚÊÊWFîÙ$v tð$õ0;©À/èÓð~Ç*x¤BDôV©`ª
+-nýµ|/âº#·¿ÿÐ)ãÚÅøyeðǤ2FIiÙý&Ñ^ÓÊ«,=A5ò²ñÙ¶ìáð¾´TãmªMëfRص/}6·-Æ·bU ñ$eñgþèRevXà|ø3%Àóò_
+๡~cg5hçOÈWò-a£¯÷Äï.¤²Ö5¢T ô cúÐOÅ_ð ü¶å{ðLõæáý¾¾»»ðÑP;½eý3ýyÔñØ:âJÐ{3»PwÑ@ô¡æÃy42ESÍ÷pä~GwÐ"03°V;¸L¥M`Äôæq¬¹=çî ¿4éÈãø/è£öZú>×uÞô`iûÑNß]xÈG7Yø κcÃA=·#7?£ÇáÇ ÆI4¹lv1ê4ýÝ$ Ĩn¼Ìq³R!9KMÏ-²zÀ9üBÔ¯räWÊ)´5È"è î,µÛìÊ9z|~
_=/±ÊÈ!~üLë0Ä÷8WIþH±-_Ú÷{ÉÿM
+F1µWÁU>
Ë
+¯=ÿú¨SpñL<`¦×Ý_bqW»üPK
+ A ª=©° ? - org/gradle/wrapper/WrapperConfiguration.classmOAÇg¡ôÚãJK|iá¤
- ÿ~Ī$Rª5àÇ,ñ
-3½Ìô´JoNº4£à'6FIÁOYLyT/¤é"4[ÃÏûó*
-üfüM>}ØmrY(nNÑ3>15Ó©_)g_ÍÀ¿ÁoüW¿%ßÒlUû̱Á§ÌâÔÍ|qz¥`ÐcéÍ!OÛc=PðGü)?+ø'Ec!üUÁßð÷þ¡àøCFT$|ônMGÑfíË/´>©kÙ¨÷uéfP^¬ñÍ[êYO|Ü®<èÙÝàûDU=5¿E1ëE9V¶(IУ8£Zþ}ÀÛ9í¼õo)Í~]Ô/-Ö>ËcÕïK5Õ<1UT¤1_UME?áZο[eíÝÕ5²n«x[L§ÆôN.z c;ß¹µOÆþNQh tfZãî¾ßú"È[vs?*_bÍ®xÚη kZŵh÷óD®2ò2æûÜ«ðaf&g°§·(Éó [â#F$ÓÝ~Üâ_/ô{XÉ®¢%|n÷ý¨qëèë1ýÊi@ÀD½¨:l#ú^Et^Ct·¾èÃz=Ñ=z#"Ü iá-fêÚ4/!Ý}è'É¢ºQO+ eÒèêFãEe-£¾Ð¤ÑÜ}¯Ð
-rBHðñyÇê4FäÀKX<º(¾
-¥%×XYÜOG#Ñ'ÚÐáÑtÜ ?¶.é Éhg.^F#á-%¼eW°<¼H<qM 2âÎ'W±"~8e4Ïc¥XFVñ4Õe´Ì£ÕÞ[cïµ½µöÞ=öÞ½è<ÖÙëíÍ
-B°ÝÞÛhïm{/¢u at x¿Åö>ÁÞw¿vìâY<ãwѸ¼Ù@?·cvPtwÔnºÊ=Ĺ®{/^}Á~Ã:ÿ !ÄÜèÚS"r¢WbÇD$çpÎ@¬8~XqbÔÑ=Ù4òeé\Íí DE-ySÒá2æÑA;[)-æÑ9¨ÜVDD¿~¾¬'lÅJËÑĽ87î7 ù!⻺Ób"°È¶yl¿9ÙVÆãØ9*»ÊØ]&ý¤t M¤²&ë¥U28ª slòÚì%WïëO$ç±þ÷]<ÀsÝNet#I°|ivÕ¶R
-À(º¤&Bl¦¹|a¢Â¬µn¦®¦®J÷©bPn¡zÏÙA3¶ógmÍ=ìq0ì8(Aäs¾Ó9äóµ§<îá)L;1ÉÑA¾Ì¤ýÀþ@G¢
®úà¥x?B±Ìa9% #î²O¹ BK$s""$§³2mPPn 8ñéÈqà ~áxB
-PÕúPð¤UØÕ):#¤#´ÈFJú!YºWêfÉÁ<OTP%(UÂöýÀuÔ·æ×LνxòuNªè[OXÀYò}JúQÅcäÁãXMYØ'ÿ'í®-í®-í-¼:3"ø Ö¬½µAjÝæþ ÓmF\¼7[nMöD´ÍÕÝæèÈ^ÓPK A ã
Ð_ # gradle-wrapper-classpath.properties+(ÊÏJM.)¶M/JLÉIÕMÎÉä**Í+ÉÌMµ PK A org/gradle/cli/ PK A Èô< S 1 org/gradle/cli/AbstractCommandLineConverter.classT]oA=+¶mßÐå£tÛ>BHÑhBªÒÄÇe×m`C£Âߢ/4ÑÄà2ÞYP´ôaçÞ9{ï¹sæÞÝ?þp# ìèØ5ÁÏ÷By9yExÅõ\Yeæò§ZÝïpÕëña¯ÍEËjw I7|ÛêZÂUû ¨ÉÏî¡Ôð
c:Âêt¹iw]³ÖHaÙ²î÷z×Qduß;çBrQfظÌõµÿïè&DV«\%6Ý#ǹÆun]ËsÌ·¢XË3Ø»ö·e9H%Ò²¶®IÒk.Õ=,È÷-1àak^ÀÌÁß1½è¬)
ë9¶(id0^}±y_º¾7бÇp«é:%®ì`i6¢Êt*ã°jºBL¨FÓ
-¿vU³Wõm_ÕIÂÀmÌu×D ûI8Hâ7Ô¼&í%D
ËÌDÕ3ìqONB
-¡üä:ACvs×ÏúÒbÁÌ0¼\8´ùy ³3CEwþ&T*µÔôkYú+$@Bèß!KÍ¡5I»YF6V¸ ûANwh`+´&ÇXEìÝKH,£ÎQ¢ûFV#»ùJ#h
RqØÞñïÓ
-+dAy ¬Ó~#¨TçN*)oÞ°À»OO¢Sx«Î 86'çÇ?Æ?¦ø'äk<ų@z±ÅV`·ÿPK A áyÆ0L ç
- ; org/gradle/cli/AbstractPropertiesCommandLineConverter.classV[WUþN2a`r¤¡Ô¤Ä¥µIÑR
-Mikì$ÂÐd&ÎL0ü ß]Ëw_ÛQ\KWýþuIH&Ò%Ysö}ùöÞgï?ÿþí ï£!á>ñHóåUÜ°{üîKÈà3 #;ulc[|ùb_Jð!7ÃÀWØæ˯¹þ®"1¤4]³Wüè6°jTѬ¦«õjA5(
-qY£¨T¶Sãt)ØûÅp#kåDÙTJ5Q¬htÁ²M¥hoFM5mMµVjUÑKÜ쪡S5ãeõDèh³fkÎ0fC%QQôr"g^&ÑIè]ÕV´ZbîñÌ*ZËâPÑÐ÷´rÝ$ÈáÈi°Ð¶Ó"\<5÷Ì0÷jy6Z®În"#i±ØLÃ×d©C+ÙLFÝÖ*u¥¢©r5À2T¤§êѶR©«k©Z)Ø+>m2Ýa*CQl#6±zDãEÇ ÕÚUæç4ºÝç¨vry®w¦¼0½îoQTE<¦êæ´²®Ønuxí|öé6zN°÷ûäjnÔ¢zY¥ÿê²^½:^7½9£nÕ{¯Q¬¿N^ä¶d¼I±Óve¼³ñwñ' 9þ¤¢¢ØQƾMƨȨBa Fwü¶ï@M luòå{]ñÊb®Ø¹æ
ýöJwH¥Ír½ªêvûÊ2̼jÐ<<òV'ÚÏd9ÃøÉx÷ë5ì|¤/Ã#¤Õ5S#ÿDO?0¤ú±íÑk{¸Ú$Mzm¸ãòt¶xV³xËtsµÖ¤¹Ö¥Ð1>^.ÍTÊßÚ°Ý÷ìCzsê.Ñý®k·º¨é%µ±¹ÇêùuR¿ñj÷9M¬:¿ÔdÉô|ç"½øÂ,}@\ÿÁx×ÓúQ Ú©7Xøì9|¢uÀe0
-Þ·® .ã
- |4¸ûlkã;ɼùÑIûi¿üß®Á?·+Ð&äÖãÖãDw^z
-B uNÓï2Âä#iZk"pOaúg$7J(BÚâÞÿ"ï´çcܯ!Ò16®Cføkt¸Àð¾[¤q0º~Âxȱcû±ó3¦òB( <qðFëÑ?¿Æ¿ú
-¥0eb²ð!å!Møv ÙcÂÅ#X!DÑ/NèÂXÂ5¢Ó`ï¹ñåÛñåésò7ëy²¶Dñ]o×ssÎqnâ#7·ÆÒä+I'%²ÈmJ±øL8=;£¶RËóK¾Õn»ûÊ¿PK A è#
-òG K 1 org/gradle/cli/CommandLineArgumentException.classÍJ1
Oú3£µ¶Zm+êÂî´U×0¸°¥ût¦D23êk¹*¸ð|(1IK-YÜäÜûÝòþñúàÍ
-Ø2aÛEÝEÀ9ç§=ú¡O©QzýTqv
K9fUvÅ#¦ti¥æËFCª¸Éçb!ðàÄ*ôBEÇó{2©È
-³ôê9`)¢KàÆ,Ihh©¿\´xû¦&J>ùÖp1 Y¢Iõ¥¥¾ÌTÀ®¹ñÛúËØ©QcB
óWì~Í¿ËDÊc¶¸Dyýfå@Ì]õtÓ»ÓîLA^ìý%«6uåVõ©1«Òú¥8(c]3«2gÝèy½»íÎñ¹°=Ý´oa³²ÌÃÌ©
-kqÓv×>PK A 'H g ) org/gradle/cli/CommandLineConverter.classQMKÃ@}ÓÖÆÔ¯ª'Ï"4
-F¯M)HQ
- Þ·éºlI7²Ýþ6þ ¸M¡By³ï½aæç÷ëÀ=Ît$S®
-¡ß§lÁü)á¿®Ù8åA {Oyb¯
-:Ë©¹3I¡É5'ÜÕ JXd´T"qxö{a¦
/4¤ÜORé¿1=çQ615 ¥Ú¹³ë¤6¾®ÆEÛWbRhèÀ{'ôq¿j<¬Rå:áO2µú%¹Ñz \ß®XËíίîÂÍvâù+³ÙT@h`u-B-íÙ¬eñ65°_TÜJÇVpXÄkäÇÅ{òPK A ´íÓà 7 & org/gradle/cli/CommandLineOption.classV[wUþ&
-4ÚhÓr
-¤ mÔZ at ZA(·j/Hk+Ei2¦ÓLL¸÷ë/àÅ7åÅp ¬ÊZ.|ðgøCÔïL¦I&.zfËþöwöþöiþüû×ß ¼ïbØoÅÂB;¶ãb;qIXoárïàJW¡aIF.<4ïÊ(ÄÐQõZ.¬kQ¼ã×(bÇCI×
·%²[FEllÝ,%tN^So¨ÙÙYÍÐ>«ª]±4 {ëwǪSC-²³¶¥£Ç表V¡²¢í¹Û%:mò7ÔrG¶4®¥
g<¯sîÂKéÅ\eIµ9 -_Á2+¥Ý^0ÜÈÏ´
-Ù¥æ
--3ô츹²¢ózQq8|cydi9ÕÖò"czQ·IH¦|á'lÍRmt`^BxÜÌk"U®¬,iÖØÍjÌ«.æîbÄt¯Òû½;PÛ´H!l/ëÌþg®ÏÇKBO}p¦Þ%Ðì-*Y÷YXA³gÖ³)5ξƵaãËjù« #©`Ö#?!ªu¹ö§ÖuLññä;xÿS~ÁnY»o½d#V®¼Y_`÷dE7òPÀFµTÒù)\V¬Z6Õòðb0(G¤Àn^Yé á:¨ëËPw=aæMÚRlÀÞÖo©ÍwDÑI Ö]NøúW¡ëÙZûõ²®N¤¤'Òq(õ?°YÏ+§ÑEóôN
- Tq¢¯E8§EÁNìqSÁ-ìU°Gbå¶÷qGÆ
->ÄpWBWc1d|¬à|ÊÒÕ 'õ2Ål!û°_Á9|¦ z©ö]Vpg¨nÔÞNn|q_àKáû¯ñoEèÝÏJTñ¥kZÎvÄ0¿FÛÙ7uV<<wñüi(ø®HêîÈ<×Þ÷2&«T8u=ÝbÔpÑùÔw^hª:£'¥îTð¬ò`ÓæhݲQÛ¬.±÷Xf&$lOÿc4Ø1|ü7
-T¾+æ
-
-ÏñøþR !´Ö³×CB^Þ¼Tc³Üü&ò¼ý4ÿ2Îz×bó!Î~GÂü¾~)ý¡OÐöáôÏØðÚYETÂÔÁU´K¸m4býãÓé_\
Â0÷ÿùë!ÑÚå¸Q;D'zÑmä½£ätÖO<ÏiE¿öÓ3Å1L~d
08ÖN"óô~«+G¼û½Lë(Qª·Êr&ÎlÔ8²NÅâ>'hd
-2ƵWpÌy_ABNgD&x÷9ËtN;P=ÕcWÙL«Xé÷¸w¼ÊQ9Ìq¦=½ñµ@!_ !ºg}ÛÝ@N4ÙØdØá×ä$Æ];¬sö):XôÎIf¯ë(ñ}Mia%`cv'zhf#Y·YeI:Y^^u/s:D®µd
-»á£å)&xª\"×9¢ìÛ~IÂ÷~X¦k÷cô-d^¸V$N³^jcMWñêÒçÖ9ê,äXê$ú¼î?î/|W S9Ý¢ð¢
ô&yª
-vÔLóaSý 9|á¶TyÁW.¯8ÓÍqXä[àÌ7ÅÉxJqqätøË-òr|²q 9Dw â
-!®6
ñnãoÐDãòMTÂù¦ÎÝÎËME/7{äƧÁhù4\p:~ÖÑ\
$Æ|ú^Å6µ'°_ Di^§Z,j·¤û°×±ö9Zo:Öü¿PK A 2_e¦ è ( org/gradle/cli/CommandLineParser$1.class
A
-Â0EÿhµZvåºkCÏPEÁÄv¨-iIõp.<S\ºp>ó?fÞëýxÈCDèln¶àm°ÈMÛJ]îkÍ'iÛu#ï0ßèBWëêÀÝÕ!f¥±¨¬,BÕâçy@wZ³Ít!éBI]ã¥á¢#¤ÿHIê9|gèß|{úü
-õ-| PK A Ø:Ü< Ê ; org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classÅVëNQþζ°°-P*Þ+^ØDÀ"ZP.RZHÿ-eelñ| ß
-*ñâCçì,º
øçÌ9ß=?ý e iKh,lÈaÜ1"â>×I1.â >LJðHÄc)FëµV
-ÅzÓY¦²^Tå|Q§-E_Okºº¤%ÕLõ¦kÖ$Ãl¿»ù¿¶x½Â.9°Âà6ÖU6.Èìl©æseH´W+©ñ}Yèåî2t¦^Yª9£%+·³VdðÏëºjNRI%«QWC'áP¾ü_ËRS C¡ç,Å´²Ûfè"¦ÚÞ¹a½ìOo(o¹¨è9g^HVKÜ=¯Â&<Yà«Â£/gØöäTEhÙ²¬Ö·wl"0aóB>¼{x »8·q¾$ø2Īç3v̼:£ñ VÙòôøÑK~Ð.â©31çÇ<1ô¸eaÜÕú¦nìê'@÷i*?®á:wlj×õ
Sà§)buÖS3ÔM[îV/YsµU=197¦vS=Ói¡³÷ »{Õ,ÇêLÉçÕR)4§*®£1Îܱ´¢¼¨ló©qL@\P-¾Ê!]ÛPóÖáÙJ%UÇB{wÒx¹v¬3õ6ïB]£®^´_ç<µ+¼yyêý¯ÔEÏúË·Ñ{| çÀçÍëNÚÍÑÞCÔ|D÷áù@{]´¶rEÍ#H² éÈq°9L$c¸A·9¨ïÑ/ÑTø#ÏðF¿ AÀw4fb?Ðq q5B¦0ÛGóÞ¤Unw ßj$J"ìPÙ²wäJdhgt±,BlÙv'ì\täN
-·ÑKnpîqGwá pþ²Y
-íÙßùa6S. 8fsa;jÎEµ³³1q
èe ^\Ý$¹IôWBQèD£àO¤÷}þHK`Ê+`hÚ+ýPK A xûëÚ¤ ) 3 org/gradle/cli/CommandLineParser$AfterOptions.classmOÓPÇÿ·ëè(Ï@¡¢1|ÉDd^\¶:ªÝéâGð»øBD?ÊxnWGe[
-Æ4é=çÜsç{Ïmþúö@KTLjHcª$]Å´$f5SQT1Ï©¸õ:Õ-,ÑëÕÌÇ«eVÛ|ʽU]9ôYbHݱ
íßew*3$WÜ*ÁsÒ°¶[߶¼g|Û!Ë`Ép§Ì=[ê¡1éïØ
-ì½¾å=yãۮꪷâðFÃ"Õ<93H®§¬óuþ~ÛZ÷¹ç7C¥Wü-7.jæºïÙ¢¶4µÅà^M&×6ÉÐçBÅ5¦ÜJ>Õ°ÕÜ!V|ml¹ÿnÆk®øSMæ¯;Õ/IÅu0¬ããÉÅ ½9ù*2g ¶îîzë¡-[c¸ÍgVEYùºE/4±ô
-ñZ¸ïDÓé6%cÜTq+EÜf9Q2LdûæOÞtãwa¢íD»W!ÎáC§^ÿ
-mÅM·-.Ý`^>Øó=^æήÕå#PF¾iÈö=ERÙgdé#íi
-@Ñ/Hìª ÞýHÐÊçèaÐØrdnº#S@ I,£ç4BèÒKI|l±RðE¡´
-YÎiEGî;þ aϧ#ÀJ ,4][À\Ò/âr^kÖ$Õø~HÕäÛAÙTµYkó²ðÑw|düníÉp#aªÅIáJ°mRÃxÑÕ`å Ó9©00@^gi<?@h,Ð|þf ýPK A S¦6éê | < org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classÅVmSW~n²pq³hH
-¶h¤A / *IPÔ·m6¨m7aMW]g³©þ
þþ;ÓZƶß:Ó/ýý»C0
-3ýr_Î}î9Ï}öܳ÷¯ý
-@eÄÒ1j22ÂXâÈÉ°,#K\ÆOÄd
cUÀ>!ã*ǵ!\ç¸!ã&>1u¼68
-·íïôFta"oZÕTÕR·kZªRÓSkf½®ÛyÝÐn«VC³r^Ö
-ݾÌp}Úþ&Â1owàr3Ò¹1f½¬YwÔr,¡¼YQkª¥yË( ºáUí¡ii×t«aåOå¦ahÖZMm44-yötD'
-Tö =Äé>ðimÕ²OlÝ48¾`qÇn,Z´É×Ötþú½ª©F5U´-ݨæº-3ÞÔ»|¿jU
t]þèÛDrîMû¦©~·tHUhÅ8,\L£È Çï$¼Y§tó=MZ4óÑ~ö1ÈE³iU(MDvaf
Ü
-NaLÁ(Þç¸Ã<bó]øã+%l1D¼$Tp÷2î
-ó©Ñ#O´¤à,&«oâX±ªÍºfØWU´Ö§?Ûri¥E²F¸s©ÉÆÔ,Cp/?åGZÅæøV²Xa¸èy¤õ4Ú{Aø¥úpáíêA?Ü+OUKÛOè
ù£_pºWÞézh⸠õ¾P¿JV+Ñ.ÍÑåZèã>ϸ±¶^KÝRâ¹Ï@
¬ªÙç:iºòzo§iAF0ìÁéاî½Ty¥§³F÷«iðM&TÁ)5ë*ÉéÁóÞáJµ«u¸Ç^ï·(ÿïÀÿ%nâ(^¡UÞa,åF~øDµ§¿×4»As?õJ,þ|±xbþhîÃÔkllvmÖqò
-gDÕlã\Ëëß õÚ.¤R<Áv0°û¾L¼÷áe¥1éO¤]ó±Ú
\Ó4#¼ò|Ã¥ÐqéNüÉâw0òû.B%±#9&½F¾÷¼M÷48ÑÍÕ,ÆYl v 9v
Þ«ýEX¾)Lm1¡l!}äIbR$Yºu¸HÔsG-¶§Ö pÃæ01ÒÃ1Oê3g´àè%F8ï|8Cý*iwçɥ~RÏå,âô*NQàÄsy
-â1Å-Â
©ÿ\òáõ_KòPK A ¿¶ ª= Ö F org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class¥SÛnÓ@=ë\Ü´
-PTZJ ¹Q7}A(QDBRª¾oÙʱ+Û©øþ!/¼Ä3¸ÎÚVM H(ÊÎìøÌ9ãñ§ïï? ¨ã(ÅVÔÂ=uÜ×±¯Â%U5tS:2h1$JådÛ
-µ®tÄóɸ/¼cÞ·)ïºnpOª{L¯¤Ï°Óæ¾è8¾p|ÈsÑ<éXmw|Æ=¸Ñqáµmîûv]Ï2-malivÌ¡ªú{¾ðK(ú ¼Qû¥î)?ç¦ÍËùH¹C9îY ]§®ôÌfHÙPF¬sýEÿTÆ|¤ÜÑñ!~©ºzC
-[{}ÈPü4ÃjOZ&JoóO
-Mi¿Ô×Ø"ªLÏxñLªWX+w dpÅÀL0r©¬cCòñÿ¾ÌßØ#A1ì-Ãz¼ÇnÇr\O¨úÖD-ÅêÍ°»¦¡ÓGEYô%¡©9ÑÍ I6 ©Ê;hoÉÑ¥3ì3®oD ¬!µ+4Â8yDè$Ù|µvDkû
-RÛSå'§3¦¼B°/H³¯È°o0صeƬÊÛD!¬Çuò4êÁÀ
-ÜD"÷jnÅ5"A? [©~DªFÿ¤§i<ÈToÇ$Èj±j¶Xu!ÌúKá6vèy»!þöB{×Â5qªláYäV~PK A o\9¿ß ° = org/gradle/cli/CommandLineParser$KnownOptionParserState.classÝXéwUÿ½6ítÀ(XPÒÒ6ÝVKE©´-·!ÓÁt¦ÎLÚ+*î;ÕE\AmK׸ÿ
-ÏñøG¨÷ÎLÒ%´|ôË÷î»ÛûÝ{ß}Éïÿ|óFPe
-Û#*!*Sä!ÎC7Ûÿ! ?z$è,^=ìY63%¨@/û%ì`>ñãÑ jðX ã Þy2]xöã¦ì.³xç%¼ÀÛ/òöKEx»%¼Â¢¯JxMÂë²ÑkkÞið&Q6£Ð²M×U³5¡Xj Ô·f¼>n*±ZMhõFO¢ÇÚ5]ݨj_%PèZ¸æ"¢®qEÇYD±q$R`ÙJØCÒ®L¨Ëíë8~vµOI$ùÅíÛ>¥>ikúvͲioF§×;iâ²IÛ«ÝuBÑãõÞ¹YÝYe
-?¹ës¯ÖtÍn8_}QÈ|n §fÕf_«#´.cH²gjnR¶%l7¢Jb³bj¼ö>FK`ÞzÝè×]¯&Dsen²¶Co1ãÉU·ÖTf«jº©âWÒúêf1öiGÔL4TNÛƬ¸j¯S¬1Ïó+«îvC½ Q)pRV O+;./ÛlÕTl3«È°»UsWr¯ÚÔ2#Ù2"ïe½øûÿ¹¹Îhà¡&ò°kù
-X§4£ê-§ù¼:fÜ(c5nàÙ[sÆBÙbʾgxkë°RF5êe4 QFÊX2ÚÑ!P}aR´v ªzá_êm×&h?ä^Õ¡r«"3T+¤vÈVRCJe|Ýc¿aÛv5J½ýìÞ 8(°ºE©=½ö´X¨_±B½¦Ñ§ÅÔXèAÃE/`ºNÂ!qDFëeEwÐ!á]å9!ïÐ,²ÊÍ:²wd¥³ÏïÖq)ÊxÇ$| ãCñJ8!ãc|"ãSFsG2akT«iíV¨_5Õ)ëÿKøBÆIÆ྽[>2¾bØ¿ÆaP®b1Ó+.ñ:hbuO
V;kB f:5Nm7wu
-Tä¾Î¼»n_)`=
-]Æ+³´í:KîP±òªÇínÇV5Ï"+±Ø$éjAê-ÑnÔO%ÍZËuxÑÄpÏ)°u
-`döשX¤D£ªe5.k [µuʶÒ=:ÑèåF ¥ºÝ}YÏÝ}2:÷
z$½b,m'Ù\25rb¶Ù{u+«2ßÒAM]%ãë×¼.O}eð¸î̤RVt+?MÈaÝù̬ÊL*Y,6öþÉ[M#Ù»Eã$=Ád§Ê3'HÄT{¾ôqË/ôÚ¢?aúqU 7:¹×9_jwÎ:ó¥nH¯ëiUÅÅÜBÉ<sö!(@M¸zya1üðøºFP0ÂpͤpíüáRßfK8åhl¡q$zø@@ìG8â®Q. ZÅâYÖV¬ûçÌØó|gƾû{_@ÞÝ[Ó>J$<¢XxrWp¦ï[ÌêÊ
-©ó4.Añ÷ÕÃÚfnÓ¼°zsò°
Í=>ÅF@¼I#ï?ÄqÍâÚÄÇÎ æ¹ÖÓ'`ÚÈ7Û°ÞóqyO@ÿ0JQÊöF1O`3Ï`~{ùɦgññÅÄu!ñ¥cNvyæ¿]<#MQP4\#¦õ2ôÉûÓòbÉ ÿÁ@¢b.j¥YQÁëÓXàZ]Øî]Aªa\éLðK|Q*WeÀ(5£¸ÍÐä°8R];²ãÿþåª)¥0ñ]â«°CÄZyüß?iòNqsÄ·|?PÄýâ'ôsô@ÿâ<_qVüsâwü"þpðj&ôöRÊm æcb#n'g Ã;=AîÒ;×f¼Nl(æù/B&é8áêÚR_iÁÄ©IQÚãX]çò¥JÆ]TÂuy"ãn¯@dlõ
-DÆ=Nðì^Üçóý
Pç PHE4Zp-}ûøÿÜLwÒÅ~̧ïNð_2xÃøPK A 9Ká÷¤ ÷ < org/gradle/cli/CommandLineParser$MissingOptionArgState.classmOÓPÇÿwÝÖ(L²d! Î'`0ÁWÖÌîoÑøÆ7úi|!Ä~ ?ñܶÌ
-&í9·çüÎcÚ?ýPªò:($IQêM)̪³¢æâãæìx#âX`~áË/¹tM¹îqÏd0
-aÊÍ]×tª¬ë×l³¸m[ÅÓhpQ«ZÂü¦AV(ʪ%,ïC9Û ·Á«85ÊgH®í6¶LùoÙt2Ru¶¹½Á¥¥ôð0æ½µ(ÝÑçëZ¢ ïËzXÕRï,ºzR)éÿ¸e&½àEÉVßñ=^´¹¨×=In+¹M(uß±è@lvAtö×ý#Öq*Õ1ßÝrï¦3@Úm&DjÏæ6â¸Í 7}
-½·OÉ_È9u+1LÄ
A_wvå¶ùØR2vÌfVõÃÀÒê¶h@ÇeXÂpÙÀ2&â Öb{Ä0s3̾½ÛÁ0}áNXîáéþÀwlS
Ëzat¿»
-Sx^ÎÈÐ, µJ#j$i¨ ÑÉ0iOHÐ3gä?Ý'5Bæ ó(yî`½Î$ÎÒÙX`s$ÁÑuã!t9jùB±o-µÔ{mÅÑp}mIÈyFñ)æ ÚÄ@a¦ íûÜ' [¸Á§$¤ÉW0ï &r
~nË1Ù&[9fp-D}=DQ¯ÿ·OWîìì«3à Ma*<$Ëhа°ý#É4Ú*loØu¿ñJºi¿¢¬ï£IÄh8%1õ+aêVÂUÒ'étâPK A ú© ª = org/gradle/cli/CommandLineParser$OptionAwareParserState.classUÙnÓP=7qãÄqI(mXÊRÒ&î6¨.,¥¢¨RT"·ÄÇF×˧ð¼ð D%>BÌMMH gæÌ9;sí?¿}°» $1©AGN>MiôsMÃ4ò
-0TÌhP1§b^C*Uu·ÕâN£l9&C¶ìf±)xÃ6uÛ*>âÂ30k1ÿåå {pB!Ñëcù·äÃááò
*²é6¨Ùì´[5S<æ5"#e·Îí*ô "ÛeÈ<|á[®³ñ@âsòú¶ãbÓægn%´ËÜ`&ú¯éS3Éþ!a,_Þã/yÑæN³Xñ
å4×
-O¢\4eÃ}Iëì¸Îoäfï
-¢ïøhZÅmº¹eÉãÉô¡ç¥Ò:NcIÇ0Né¸qË:nbEŪ5¬3,
*o<õM±e ϯ´kAatPXªÝb;çáùÐÀô^WrЮ-p³ÿr*î0a:|µsÕ[ÞïÁNí:Ã0o4î¿ö¯r»mþeªýT}ê4s^¯[Z ;u«(ôù¹²Ç=í>µseÃqʽ!uzwF0*WH§åÒS$
-
öh&{¼2!¢dÓÆÌ>Á¾ bÌî#ú1¨ÕRe¡±I¤XcËPjÈ:OR#B00¯/Q1cæ3÷]¾äZå{xb].âå.c"àÙÃPU2>!JTCdÙWÄÞ"s uWz2CÇß!uÄnàjºd`s³ùÝRW·èFpµSÅ9²)'éûrVÐYpE_f [$ÞëdÿPK A ÔÆJÁ 7 org/gradle/cli/CommandLineParser$OptionComparator.classUmOÓP~îÖÑQ6¯Ê|AqÊ
-2@Îh,`2CâÇ2yI׶#þ_üFÃgÿQ¿Ï]lRL¶ÞsÏyÎsÎ=çÜöë¯Ï_ ñBA3
-úÅ£³2æHWȶ cQƤØ'±,cEÀÈX±&CgèYç6÷7âyuA*9û&Ã@
Ûæv³±gºo=4C§fX»ËÅ>TJþ;î1dv}îØ%§qh¸ï¸©²mnÉ2<Ï$ÄbÅqëZÝ5ö-S«Y\#lð÷E×ënî2å&×Z;
-ô*Aà©G#Ô2q:-¹È0íp_ ³6¸ðªGfv]«ú.·ëz`#ÈT¾Í¸³w`Ö|½S£e¬3
,KQm½gÈ]ÍÐ[åuÛð¢n%Ôô¹¥ý)özt-6Z©:M·f¾ä¢ùcáçu
-¦ð21¬\³ñA-ÛGh¬»Aðçdl¦°
ç4{ÛÁ°²dxfÙöLÛã>?2;cOD RGá^TÕ.ËPüïéÿë`AçFºµ9z,¨uuÓÐuÌ«mcP5}ýʳ,£íñ-r
-èâ4þTö|¥½ûÀéjçd^º@áíêÔ¨eÌÓ[¬nÐ ½%ÄÄÈÑnvt¹>Eì# 1Ó³G(Ù7
- ÅMkH-
-?YÖåÄÏ ½e§H|BÏ9äíÙÕt¤Ø÷Æ¥(ÇÑú'âïf?0Å~¶¢.ÌaT!ÝÂíV&˸Cð|» ß):Ø=¤Ìew?Ìn
,ÄôôÌ9úféÔñGLÁ2âIVi
õaÝë3 .2Mà!]ä%ðy¨u7h¤¥Q ¯,É$M¥ONý
-PK A #t´§ ¦ 8 org/gradle/cli/CommandLineParser$OptionParserState.classR]KA=³Y³vMM´âw)F)n_$"h@
-<ø6IíÈfVf'%¡?§O
>øú£w6ivλçË=wþüýýà_|d°éÃŦmì©TÒ1dª{m·÷C¾)¸ô;BßóNDÅfÜåQkiïã¤k¾ÉaáöÉÈXÝqÝ2ÜЯܵRB7"$(ÇÍXA¨y/A7A#î÷¹êÙ>£ºÊ;:Ã|¬(ÔæF͹=æÞô©U÷&K¿õcEZ¾Pá¢Ú|äßyq-£¥
-ëS+ÎÂ\ñäUÌ|HQåS$ð°Ã ÝêdíúÝ3¬1TþMZñ@wÅ¥´K)¾ãØ sAÖC
áhúU0^]ºí<.
-ùuÊGa(M"¹%zÂ.ì
cg"W=ºd1föÁùIÙd}ÿçFøø¸´6,¤¸O).a9Å¢Í,se,~BèÅÙ¿Å#ÂH<V±§ü
-jÊeèlaÎõ',~&DaöPK A
-tB 3 org/gradle/cli/CommandLineParser$OptionString.classSíNA=³mÙ²¬e-_¢h
-Vi·¥ kLL0ü7´kY²Ýmv£âøDÀwÒxgº Ð&
?wî½3çÞsîÌüþûã
-֋
-SC%ΤQÖ0KÅ%a*Â̧qO]Pñ@ÅCÙþ[.÷Öz8^c¡ÏoEï³äxN´Ì0]è<×)n0$«~Ýf\q<{u·¹eïøkN~»<pD'Ѷ2èk²a»
¯=Ϫ.Cv?hX×]Ûª¹UõMîÕE·<í O2
-;zé-YåMê3\(vü¶¯âÞ\Hgo>9åó0aæòÁ1ðZÍÃ|eaàÕÂ%Õwªû»AÍ~å¡vTWaèÈbHÇ:aórYÅXb;_úÅ®ãÖí@ÇS,ë¸ VÖq*1/EÁø_mkÇ®ES½gFo¹ ÆmgGºÃQøÞ¶Fº\nñ½rÞjÙ^èv;Ð5ÓTs½¸!G?.C¿U¡Ò8ÉË)Ó¹!zsÃmR uÐ<BÂ, iÎíKè%é}Òa
-úYÄ(åsmÆphä')äÓmÄm>ÊX2¿#M¢ï+&~BÝ<BZýg´Bûñã3{'úD-¦Jz»ņ÷´h{)óúy°~
-j
-!6×H jf ì
ãí#'3P1Ï@Åðn#ÆÜí`Fâöº>f6)K+¶qy%
-Ýî}\[´ÂHÿPK A ¹G;~ U = org/gradle/cli/CommandLineParser$OptionStringComparator.classTÏOAþfvÛ
¥
P-"Vh)²BJ¤IFL0$zʤYvÉîø¯ÀÉ{ñ&ƳñͶ¢R´ÆÃÎû1ß{ï7oöë·±jc³6l½X(X³ab^/-,èm
EeäòT´É`»fÕß#uåÉç£=¼{.yFë~C¸»"PÚî:Íè@
ÙíãHùÞN(¯YõE "?`HÕ<OUW¡$ÜzÝN3û®t®r{$¼}]ì
Bä¯ÏTa°±EEgõCq"WxM§¬ôz5ñãle;p¹½DMü "{ýÃXºRh{ïP6¢J¯§X³@`Äø¾ç+WtùEü¿ wTÓQK}ãOZrýÚè=î&¥²wüVÐϾ»lO¹B
-é±bá ÃÓ¾«"5/^¨"u"{à~®8Â8²«¼Öþsf~KÖiÃØuÝbî4®ôÑAüRh¸¦úÅ`Ms1DÓ×%k,$sàHá¡5©Ü@ôT.jO7ø=ò[¥sæ[Xæ;Ææü¯Öª;
=n!ÁÛ¹3"a¶?Á|Å.(:Ù¾,<I
-ðy9na Àmùy:&´Ò)Ú%¤µ[¸ÜÂÒ8[Æî½ò¸GÙ"â¹.ñ5Ú1H¦çJ_`ÍÓwö_NîËh{ªd$ï¶]ߺlpÉ4¦}c|b9$'È?"FI$Ì ÝV%L|PK A YMû » 2 org/gradle/cli/CommandLineParser$ParserState.classSßoÒPþN)s·©sQÜP`lÔùf0H41!ÛÌövu)·æ¶3ú?ùâ&>øøGÏmÙdiÒ÷ï|çÛß~þp ×F;6rØÉ£jã Z¨[hr/}éǯzã`v¡GXíúÒ;¼÷=õAôö»á@'BùÚ8ÍøÌ
c¡"Oõb³³ø^JOuE¶º¡¹#%çßíã±C]!Í«N¥· ÎX|é{l©øècì°^ïOÂ
-¹½XùrÔnò~tj¤YÎÄVB9
faPJõk¼OçSvq;3ØÌ¡ÊÃP^}3¯¥çÊ©·rh¡I ¡V_uÐÖÛ6>?#Tÿ'`÷Â5ðÞùzñ31-ÝPò«þ:jì·öØGÉB°·L{ÜÝ¿õϽALx¾üä Û»V,Ý÷0ñàL_àÊ"³ÂWú±`èðn±å²ä »ûÆ7VØüÍi'9(°^LX®&3A)*³LAÚehèf9óæ×0k ÌFÂ$Ú¬p÷àûؾ®Ø5ß̶¦Q
-éhÈÄ,I[3ÉÎì,¡¤=Nâ·qå&2|RÃisF
-wYn±ÿPK A ]4Ýá n ? org/gradle/cli/CommandLineParser$UnknownOptionParserState.class½UËRA==É$a2@ñ
(Éá¡""¥¥UZ
²`×$SãèdL_ð_\H*~+7¾nܸÑ_°¼=
-B%qáæÞîÛ÷¾}îÍäýï·ï äq[Aã
-:0ÑA«0ÂäÅÁiÌDq5krÙãÅCüw˺»&êÛÖÝeËzabÅqáò¢¥ç
-[vJ%nWL[¯âFêàó!îÉgüÏYÜ6rkkÚÅXá£Ì>O± Ó6½E=}±9A{ÅgÖÂËNë)«Ò¦î>æ.^丵Î]Sì`Ø{jHOìç¶óÒ~¸åý-pßeèÞ}^^rJI·=R7Ù °cSëêÛÞ{2i·OcÒÞi nÛ1^ã#rÊÞ²t1b7Àðê?4°yvÞo²´=)L^)a¦FZÓËÖ[Ðï¢ý©c9â*zÑ'̼n$Tô ©BAaF± â&£¸Å0÷ÏÓÁ0ÕÛ ÔÓ mGdúá6a4Ýj3
-C'/ïn{._çV
öýƵձ+1DÂúX
-¡UR´È÷Ô%òH¢}4±ý´+Ñ.L¾_c´±=´ìÂÚøä:"L3þ2û
}F7û>ö§èL«` g %.dþJ\)ù+QL¢gq.¸:K^dIá×µ{""¾ù¼jõ4àe8Á ²¶È#àïu`¹¾@ÊTÁsä¥À?|pªP{þïfrÄ mÔÚEhQrò!£"XØOÄÙ¯ºUVêH/.\¤ é6? Û9RÕ?SÍ©UÃ@çFcHû:UÆï1-NòÃcjXücÎâ4Uy<blfq=¬üPK A ¼\oY ¯( & org/gradle/cli/CommandLineParser.classYy`TÕ¹ÿ}åNn.!
-DH${ %BØ5JÃ"Þ$7ÉÀ0g&B\ê^«µÚº¬ÕÒjªÕÖ5!¦Ò¾Ö>[û^ûïuÑö-¾Å¥]lOÞïÜ;3I.&öÜsî9ß÷oýÝïL^þè£ Ë¹Ø·ÔãmõxGÇyxWÃotøð®ßâw:ßÓð{
-ÈÃñ':Þ×?kø||¿âÃ<ü>RcâZäè.M¼:f/ ~õ®©G at Qäêè= yjÅP)j%? S©d&
:Jñ.OéÌÐQwRÄQfªÇ,Å1[=JÀ JîêqÒÓæ'seøPbur²&óu,hRªc
¢£^*Ê2MÊu¬¡¤BGÚ©JMªt¬§@©y©¡W¤Ví,
- ªNY¬Kt9UNS³¥Ôåa£e,WÓzuä¬Tz¯
-Èjõ¾F3t´)Á
-ø3YË(³Úd&ë²^ÙÕ¨c·©fgälå&]ÎsuÙ Íi¡&lÔelÈyj³U-¦HÄñ¸ÌÜØE#X(Ò½.º¯×hLóóÖq«)·"ñP"t5HPàpgòmÌ>?²7Ýq67±¸kM Km<ñÜãì] æ²Ü&(jÅã<ÚÙmuÛ[´¥¡+aÅÕ¸&Û3ì3C±x¢µ¯zí3#°ÖêƬ1ëìH; a¿³²ÎÝ)ÈËZØÅ3½%¾qÓ¦-»[wojز¥ñ¼ApÃó³¶/
-×Ƭnë@í&3A"+S£²kûS2¦fP7½¤Ém
-uGÌD_6fï®t^Ãf¤»Ö°bC4Ö]Û3;ÃVmG8T´mC(b9Ê®XMÓÌp8º¿9tÀêLºK ü5Ý^Ïw¦¨ìÙoëCq³=lÑþ¡H(±Zà)+g½ë¢Ò'µôík·b[¡ pC´Ão5c!õ\ô&zB<ÿcÔuMe}½j&8½lÇx{ËÇJ°Ù:3äPB^Çè+ÍqCXj<Ða¥RçBÁ²²ª&ÆK)>¹ã[á¤g§Mhdɸ<§¿édn30MLh*ÓC]Ô@s7<Ûc* 9¡ÖBFîØö°>W¤³Ídô5Ì%ZnÆë6c²"k&6=ÛèÙÉÒßJ·h¸¤¿Jî
-¦T4çÖ
-±"IñÈhåäǺ-h#±k²Éì&ÆkÆb§7lE8Lë[à_UIH'Õ/'"CV§f¯¬Òè½´,q~Üìfièíe;UEü0¢YX:#ë´b©"rVZ½1«ËEj¥ C
-¡¸ÒÔ³×ê'l\bûx¨Ï$bê½Ñ²1´Ä^V\ѾJ at W
-Yübì³;[Ä©eÒäg)Må|az£gy@°`¬]Ó·dAÇ![áfÛÁ{éÄW>ïh¶²,]4¶:컥´Xùþ*ÈH¶±}
(ܳ7ãéP=¡[éÃßÞ×Õ¥b2{ÜAkíu\úÐgG®¬Pq·HmNÒ¨O\ÑéRÔÍ+/Yºh ´lb(ç§:çÀ¢QÎeóÔÉpk/R"+ds¾êzk´/ÖÁI¡ïÌqj·â7â&S³/à6BÒègñ£ÉnC.Ò_Oºãd°Z4i7¤C:yXêAðëâÚè)înMz~4÷h²×°ì3$"QÂÉØÒ+ÓÝÕÕÄiY=á¡m¨:©§UWï¸pÕ®JCúäbC.ý~C.ËekâåIU5\.W(¢Or¥\El´÷Õ¶ÚÅçq{äZõ®
-fj¥zµÆX,3äj¥ô¬ñÅ
-wªºÚu\kÈur½!V¸A.3ä3r£!7ÉU|·r³|N[¹UIÀqImÈçåì´\`R%Éw³¼%fY°`ñ$û¤Ñû
òîmêq»!wÈ);ØÙku&3å9Iáco5Ü%wgÒý
-5ù"£ªØÀ?á
-9¨xHî1äKr·&÷ø±|ÙûÆ°§ÁÚûUÆyK㥬Äs ЯHÔÃòURjGékL¤xq±b0äUk3ÝAOý {V ÖmÙSöíã71Ýï²ÅqL/^X_Xáevöwò[±:k_Wn~ÈU5Ô¯3#h¢Øìì,fðä¤V:xÂ%÷=Å«Ö¸Ñä<"jòMUû;&)±8 ÷wD# 3¡¢½=fæÄBÅ=XS,ÎüTgÙÃî
5°Nð5ù!)EN*Û¹æò½5)÷éYõî]å<.OЩæ{ð3&$ð>½|BÇ»ZO&ßÝ/Þ%üº2(>Î¥}éäàtÜ~²õ<ö&/¨ú$wÉà}ö¯ ǧw)½1¸Btõq
.ªØ1¾A*ßïNÉ
-°;_J]V~¼*xNµâ³Ü¯¾ÜÙ;câ;ÕÄÂÅöi
ãµ`JÞ] ~YæeÜiǯ9{Ìxu aÿ`Áʱ_f»u¡ûÌþvu%Rת¢2þn»º¨_ÜgãcRá"AÓ8¯ýí>ÑøíèQÁÍ÷µÇ9WTÖäÚNQiaÂvþk¨ëùÉÃí.Mâ^<æþ¯
"ÖuAöÒ¤&ã&wÓtDìr¬uÍ'=;/ùU«®~Ó¾ý±þ]e§¢@"¾Ä¹ªßm%ت¯;=MØRxãçž;Ñc§)´D#© Ø)3~nÕ;â{nvÓåáÉÔöõn©s3¡AÝýUÞ-¸ò:YR_3{ÏÏÃÂáNÒ7èiY5îüC×[ñX(õ³W¯ºË/sñÉ$½äßkõÛîÉÝl6w|*!ý³Màñ[ü:éãü\0zUÎL `=ó'
Ü*{4Ù|]á¾8µáæM~ê&»ÉòòO¤kvR»¢#C®Ûý_ÜIö<ë§ð4®Åìkì¨ uìéZ¯V¤ÃÊòÃÞì0pÜ75Cú71¥ÓbVgú¦¤ ZÓÕ¾ð~LÑ»ü±çðáÕÞr£nÅ|ÖßÌ?^íùj,nq|BÞù¼okááÛCðVÀ×6ÿÓÈyÜæ¼Ï|R KáÅ2LÍñàN¾îÂݯæ%û ©¼Us8æVT6ÀciA~©Ñ0Ó!J
-P³C¸û_âÜËñ^þñæΣ)ÔsÍÌ£ïrÛF ·U<
aä `aJóòÛ*ªdS[*QÀë7èÆ4ÁAyEÍ
-ßÅôz_uÐ7åÑ ¯°h3¢`³Úëì¹ËÁAp'2è#ñ8©Þôb .'Á\ &è+X5yu~²ÅVjA¾y/²yO&ÓYdo3lÓz}IR
-úüiºyO`Á!ºÔ7Rãï
Dõ~evÐ?
9ô÷L%Ë<ÑÖ?MÊ®×lJ-IyuõÊ(¨¼°b¸rUj<©>¢ú
-¹T7©å_]nQ®rYía,£U|Sv×ëÙ"õ¤H=-²¦åº\8öÜ ÖPÉT7¹?ÒôRDº²E--ªÄâ*O;@1
° hÀóùÜ
-Û° m¸ÛY;w;ñ vá)\¿Ãnüá¤|íx8NKf¡Kæ [Ñ#åØ#§c¯´",;°Oö *½è+p±Ü<¸<Â÷§±_¾~yÊ«ø¼
+åw¸Vþë寸A>Â99,Oû(¤^~Üûù¼óðæìLµ×4jf8»ÔÅ¡ÓxÚ||_.q¬!íaäR«v{7Àss³r¼I§Q7@ËÞà ×ühgðuÎ|¨à!<Ìjc]¥ê³Cøko¶¼Gð(«tüßÄ·èóÇR
oS=Uè<Áùô¯-K¹¢*^«ð>
-OÅ(èvñßB%nÍ@-©pÕUq;EÜá"âj<M/Û"ÄKÍ5®íT¸1%Í-ÕGë¼:_¯È{%Yä[Rï¯JÕÖ©9Æi9ØvùûzÕ0
-Zª0Á¬ê$Ô)©ÄéÇÞ¬ÍÉùô6è }2øµcc°1ÞÆmg¾;¯¹Ì'*:3yøç!Øáé¼RÆç0-ÜLa<õUcÇÌcKHaçNØØ`æÏÒ3©H9+Gm'~JÛñl¤<¢©üpËÚ*°ðYOX]ÑF\9U-Õi|Æjºbkèº3ê½Õ¶7êaI¼¢fIø1
-JÌZ±¿.%d=
4²²5GJn07)e«%!ZW Rë½ó7Æ6y£ÛEã·=ugóªÐ¤Ä¾<[ö!h
çpÁÌ
-êÃ8×£è1!Ôb²YiçWÉ`k7WÍÚiE>
OµGÐ\çcz(ñ,½iÊÃØd³ÛXU¸Ùû,Îkó¨VAë ¶Ð åU){Χ)E½
Û£|YämÞ¤DñØÍLÃO§à¥L,°xsY¾An9w SbKÖdFX¢ûYaw±HîceÂýéõK¦ÊLw¸òÓå#|Ot|øày9
-/ÈxQÖá%éÆd?^[ñ<ÉKxU^!l¥àí.¬'ĬpW¥l.Ï~ߣ|§ßïã9¦ç(Áó¤Ëå©sðͱºðÏz8åãÙ
-~̵ËâaBc7aüEük)Ñ^SI*Î^Æß3åså9¼²ò~D
-<X"÷àU±=K½U©¢9££ç?¤õüGªsÖO¸æÈ8ñS¥®~Mö?¿âH=pÎÚÌíÍÞÕ/Â_xÎaìÈlLPlLê}s!·Þ¹J}ìv©gõÀ±×ÙGÁ¥F-µðT'æã5ÂÄÏ?'Ðü@ó:Îàçl-µhįíh¬¦6Ul·^ÿж çIÐç§ò_É{ösúVÁÅZJù%-Ð)çu"tèÛôopt þWÙál=£¬>ZÙ\utµ§Î[äsû«¼Kê}6²ú½Hp»Û
-/J¯õÌ!´³ÃQEÞÚï»ÿ,å®AtJÒô¥¹ÎKÀ¾qumªõB¨¹ÊLü[.e¯·*
oT~^êØ%oaÞ&¤¿ÃÎ÷7ôÍoÙP¼.üsïüzögÖÿ_X=¤¡}zlh÷QÞU6´çp~
-íúùRÚ½äbçµÍnIÚ¦¡ýhÚoa|UMäðoø÷ä×±£ò°ç1}öÒï¢ÿ¡ù?YrãsÆ6éîÌÿåz²Lâdüßé+G½0{±pì×ó$`ß°·ÛÑïüR¦ygÿcô¿èµan*¡lXÇyqs\Á1Á±ã%±ãrös¼Ô«ã2s}Ç+8~ãÜÏçxÇ«9^ãÍÁµ¯#ýõ?Mºø#^òçþ?PK A [xn Ç & org/gradle/cli/ParsedCommandLine.classWÙWþFÛÈÒD±UÇÝ&UÓ8e9$Ðx©ã&MÛ)qIpZ
-k"OgÑÈ[JK¡Ð
¥¥}3¤4 &?7øñÎo¼ðW¾;3KÖ¸1/3çÞ9÷;ç|g¹Ò?þûÇ?ø0ÞO 3äQq)¨»°Ä£"ÃN ÅÝ©&±ËI\Á²x<#ãYK FÛñ\ÇeÏ'ñ¾Ç2¾à±/%Ðd|9nq|E¼_ãñ~Uh¼&N~5¯á²X~] |CÆëq¼@¾ÄxKè|K<¾-oÉøífÙÖM£rdyÖ¶t£È©ê:XµõÒà´ZÐ2«
-Õ®Z_GÝeI5.ÀÈiZ(ió%}ðqÕªh
sqQ5
-Sº¡r,9U¶´fØîV¥Ñø¬fSåÁÆ ¥-KZÁJiWlK·ÕEâs£µgJ¯è½¶6ÁênIèÌÖ)°5K=_ÒFúÎHLMxÏðfªç5ë ñMBzÊWKgTKko³Åå&BM !}¯ö:ïc¶iñRvøtÝ*ÝÃôÎìÙx&H;b/è Ý&|êÊföö $t4Ò°\®Qq8@ôîî´ecKgEÆâ¶Y+øöl_PKUÓÖƤ©¢t2VñeW¨î«v¹jKèj:p¤ª
-H¬WéV
ZÒ9Ù ð+tt˺þ¶,¨Z=íÈ6kôÑÖÕ«¹Ón§ 7k'»²u;aJڼ÷8½½d§´%ä÷gG°²\àM¶ú¹
-DÕ¢Ûzµ5ûè¹®UOýdÙ×´¹I ÛÔBÁA<£ªÚ&ô³\£Kî÷ê×:@÷îåÿ«¸Cµf¯§iÖ Ó×ĬYµæµcºhð&øýÂiñ6 ]'é¸ZYà
¢` û>pð+¼o(8îYÿ:nYê² XÁGðQW¼we|WÁ÷ð}?À%dîæ73¶5Vü?ñ6ÄFîeüTÁÏðs ½q8é©ä3»×x[½ÀSç/²ÌàüWÏ&SwE>£àøF¯)L+ ùý5VeüFÁ'1§à·øGyÝ`§ÕRÍ«£Wæ5®OÞJoÆ0íLA»ÀèûEÆ.ȸ¦à:V¼§ü«Íä61'!unQúwµ±T¦îÊK7ïrXrúÌ[1Eã0w$Dë϶CîÏm
-
-kV%8Óûp¶¼y'ÐØÓZT1жO~0ÈúÍ¢ËQX|ló«%>o¶ªèwÄ l¤¼(èØt((ÌTãØãyN,áx¡0^*QpKðWj'DG \
ð!®Ùèþú ×6¬Ùèþú!$ù>!ÊÃ40dî¼»)w¡¹[ß@bbìäu1N±
bâýkP$Lç×°MÂU¤ðWl¹Vê´
-Gn"½{$G»¢^FHbûp,÷>"]±®ÈvqvåοVî¼wÎ1Âç(|v3äüßA©?Íw2ä{1û0]°±/â~¼^&I£<qÙHáa!§ÑGð1þÇ%â8oøxvÂǯ!AâàHE Ê
-ßîΤOâIJ|B|VNº#ö'tÎ
sK¾
³s!&1*ĸÿ®kÒ=Úã8îê÷Üqæf ÿá;Æ÷éÛè&·÷NGÆ\þ#=ÙCBòîz|ú¾Øu6Þí¼º¢u«ðØÊ¿çoâþk>ÝûÊèC9$èEgdÐÃ$}uvNrg5&<g±S²ÒF2#ÂSÌÓ¤XçÉÓLBèÇñi×,´Îø¥ÄAì|;"Am¹þÈì2úBXõiL8
-ÂGÇ:ܾmÌ÷á$û Øx0ì$aOÞöI<ååêM¾}ÛS×!ݵiɱ3¼hduåοë~
-:H¢¨§nR±$쥯½ôXδ ¢e3~ÝöùîôáS¬÷úº;öiý%^v^ü¢
hC:»7DçZ§óÃÎÛèKï8ÕÜ/
-özÿ_¯Ú´aM¦Q¾@''3.`C.?)¶¬h½åó÷t¢¢I6¶D©®%¢ EOFÝ(õ²¨Feõ\ßÀ2KûR]ßAEÇA0 ÝC4¼înàeF]Þh}41°îoÊ ZL*§Ò-"øvv;ÓHr¤ ÇçZJÄÙø¬gû
-ÏöPmvúõ«º2°\Û)Q·\ôÄýçzèn1=Ã!ù,Ýy·Àóû/øîíâ(}Ø)¦{¿VLC¾ËC£"C%sñPK A ¼¼ , org/gradle/cli/ParsedCommandLineOption.classS[OAþ¶·-í"¥\A(¡-ʼP«1!iĤoC;YlwÝ-
-Ï&¾ø JD}öGÏì.¥I|9ûï|ß93¿ÿ|ÿ`+)dPPQL!Bú0¢åI,¤Æ-,&q[~器+¿÷䲤â¾
-{ÌlqWA¦²ËöÞò©Wë-+è©
-Ãb^Ëá
-fº~³É,C¯z°å2¥$JÂ^YA4_ØT[µëÜWÑjlsçÛ6)Ø5fn2GÈsy;ä+¶cèÃê&×k¦Ð_2ÇåõU»Ñ`V]Rm4=a[T.ipoSP0/DND=t=¼ÀZÕë+ÑjpËS0?¬
-ÉþKOr¹¡bjÑ©ªÝrjü¹»ÀêdÒ0a§jWíKÉúÕp³
-&N«®&7YõÇ×ÞÖ¸ÏE4W·¹³l/·ÃöxYû9ÿ2,ÈBS*jx<ÂIy®Ñ2=Ñ4yt ZÂcº<ÝN5ñDÃS)höÿÆyec{רÎî+Þ½[§+G±Þ9ú tGi`]
-ÿɾ«Â]k4½}LÒÉТÉ.ÒwN"N{j9)RFv@¦x¥xÈÖ!¢_û죯Ð*ß!(#F9#´Ó<®bÔçõ«r-¿!~Þc$¶²ê!?_;B}S'áèÒüö©]q4j©T£øÇ©BÕÚÕÇ)ñ«ëtÿâõ,á§;ãarÐÅ&1ZxFiW$óGèàuw+æ&9#¾PòÉÝ4f|tgCÆR(+ô਱dücÆùÙ¶Á9ÿPK A A5l| : org/gradle/cli/ProjectPropertiesCommandLineConverter.classKOÂ@
ÏD|?PâìÀuã#Q+¢$÷C;1m ÿJW&.üþ(ãª1ØDã,îé9ßôv¦oï/¯ ö±[@ylæ±G)ívÙ
+" HULCß-åH¹»«&~*M$&¾ðø¡3we&3³3óýíîõÏß_¿ Ë:¤ÀÒàaæ`@EG xLá<2OÈ<%³¨ÁÏxN£8mÁPíækÖöÖÖ3Ýõ5îÛ²QO»M«5·)÷½çÁ!Bwª~È+óõÎ1í«sM¢(ê/;®¬0è/wÄ^´°®9®ý®sÜ°½¼Ñ
+÷nïóÖ÷Zd,8t|åZÛkZM´lëÇONlÏÚü¶ûÉiv<N,nÚÁú¥gJeùìi_n.]î!Ö4*:ZþlÜåkÊùªæBéj¯jttWò(;"õv]øß³¤£êãÙsè~÷"ªDÃEE,êí·o¿tèîGU<K§1 ×+
æ¬ú¾}ÏçáÕ¿ÚZ]¯U÷¶ëÕ½×o«d`ÁBºáúoµ¤Î2ôùdaØ<!H£)SÿùU ÇÅ#l6ìý &ð¯ÂÿWúh"F}ú¬ð9áóÂBFçG;«]Ì3ô7ÍÀÌlÿ)ÄÌlü´0Nqò{(E[´ya¤ãf0?@ p\èF·Ä&zª
+?@ÿv>,.âsñmâìî£nsúô=ÌN æN8¡u ѽÐÆØq$&L*AîÂ=HL)£ÆìBCO*A4dF r_
+¢É s¨©ô É
+)%È 2¯)©AeEÔ,õ É ²$!<Wj²µ y2IÊ U%È5HRÙ@Í 2jfÿPK
+ A Gü¨ ( org/gradle/wrapper/WrapperExecutor.classW÷çÿ-ùäãX2lÆl+¤ØâÖCµl!9Kgû@Ö)§àÑÒt¤+mîtÐl7¡Útï½ûgäÓöyÞ;¤8(ýAïz÷ûìç=½òï_°ÿñGCxLAÞ*ãm
+8§@ÂÛùäqïá2Þ¥àÞ O(s2Þ£`!ÎÕç{yxïçàáI¦~0ñü|WOðÏçyx6ðüQ&Wá<O
ðÏæá32>ÂçXÌþywã¬âyõ%^}9¯°úÏ3Ã2¦y~ÉOȸ¨`;¾Êä¯)Hã^V0YWðõ^а¿;98ÐÝ14ØÝß724Ð3èOt
+K÷×Njí-;Þ´-#;¾[ÂüN3·µ¬}HËt e û]rbbßàAqy1ypßÈmÛGC½éN$ûº*=
+8%g9ݲ
+=/a©£zÁ62íâ9©¿ ÄuÀÈþNÃlç=qÔ¤Ìì1.aCi·[Z:£·²´Ýk?ì̧`i¶aféRÝiãzÊÞoX4ÖÑrðÛ!vÖSºF`N3M-ì1²z_arT·µQÖ5Üc¦´Ì!Í2xï²Ý®\ò)éá&*´µÔ^-çÞ«Ùcd
+{¯õZú»nÃ! ]«÷$E×és=°'r|˸4gé9ÍÒ÷yJ¬ÑYEÑ
+¬n·
+ts@òfÁJBU¢(Eò2æÈDK×ÒÒ²2t!cjé'-BFY×&vÑÝÙ\ÁvwËød¼Lî×m¯z¤^B<úÿd¬)G£Go..?¤n.¶LÆÖa6é§åz5¶K³lÝq
+hÖ8Y[ç#0H M·(aɨþ-ÊÂW
+ÃvÐ$çûÜ`Pm¬Þ¬Ü?}U·b§ú4FÙásïNÒúVÈÜè\;ïé/TÈÒ,P¡§©(HdHW)¯(±MËî5òyb-Ù«$E;µ¸¤¢"6² Íÿ»vÈ
+o±JVð;Û6w»±ÔîTâ$Ú¯ºö-T|ß¡Æ]²y µI½XjZ]"%ðÈ)Y¿6¿>6i5í~ªg#M «;ïâ{,í5;¬¯ÃëUÀkUD·
+u=£*®ãû$$í)Õ-¯«ø^QÇI?dIe ÍPñ#æø1ë½ÄäF/Q²0©â'Æi?e6õ!#¤(è1õçeøLø%ê|º%y°Ó,dÒÂKÜ¢"§|j¡ÙS¿Rqmý5ÿ¿Uñ;^ýG©Q¥Ëh&
}#YÜI¯§7w<}EüAÅñ'æLÇQQñWüMÆßUüÿ°¯ÏD2ìÈ }Êx>§§1COG¬¯)7ra
W¡äTÖÖN{üRçÓË|88a§÷«ÄÛïAXTY¬Öø¾oeÝzfuÇ´y±¥º®¡çtR³ý{
·»:íßvêý:ÉZ¯|`GË_8檫x8󨣾¢êò~Ì£7ó:§Ë+xµ@¤ü-I
+Ý:bäqJÞ»q(¸Kq6±Û·ßb¤
j &ÐùÏï};dm§?JßpõEö¤)º@aÚ¦¨Åführ%Qßæ¦2&ÛÔxëglL¿->lDÚÜé×ÁM6øuF¿gôÊÛºß
+C±þ!Ì£BµhÀ^ÜG»×Ю
+h¿Ï³_FûÏ~í;=ûU´ßïÙ7Ӿ˳_0·kZ¹cz8ÍóIvz³v¨¡Ð0ixUñpõ,sÏ¢fò´ë§Ña\ªs oе(C´ÖØBÏbùjÃJà%Ì®%¯@Åü«,,V.£ZÈX at 3#8ÐæÕê¼RMô`:B¥ûéBN¦c³X@À xÑe,µ^F8¿º8isOÆ[¯`IìQfQ?¥b^ÆÓÏ¢aÎÙ
+ç¬ItÎV9gw"3Xí6;kcs¶Ö9['ÎÖ_ at cpÃÇ
+qvCÛ,bW/þ<
guÐE4n"kÖÐÿÅÍXBÿèeÛ(¦ÛrÅ}îÇNLbÅnº¿öà<îÅÿpaöKq
K§éÆ0 VìHI¬8CªK¢ê?RMÁQ%Ó¿V£tʯ<Z0«hn!çÅ{È£×9o(g.¡nmt²rgíÓñRHÃ"2¸ü ÑLòDÆrõ
+â.<7^¬MÒ«hÉî7Ñ.@§#Ä}¬¨Éâ"áð¦l¾%Þ4-çp÷°XnŶÊÌê%úPG
+2kµ«Yu
+è¸2&"[²rÛÉ÷ôÆ[g°~;/@éã¹M´dÕ客ÔäT¥P, IaUOs#ÍMä\Ö#"t[éf8¯80´£HyCTÏ!âøÈHsô¢ºcô£/··ÐÌÖ
TÜUYÇÇ<¹0ýßîÞòýÊËãËÁâåã8áú*C9öôÝ»mñÊ=HN at N3XL¹Ì[[Å\
+mRH #SdL9<HwRÛ">¾\ö¸ÙÅ¥ l¥
+9OC(.ÊH']¤Tí µú!Ù ÞÄ«S´ª§]ÌçhµDL
³yW !p
+5
+éÖk¶N¯<ÚXzZ*%q3a0LQwx|q,8åxé¢?æñcKQ¢.-®.¼"öc#ÞLgd
+ª_EXÆ`-q-z3AiÌ·D#»7è6²á ×þ¶^áÇ=n*êÒäê"á-ÿáÿPK
+ A Ôe # gradle-wrapper-classpath.properties+(ÊÏJM.)¶M/JLÉIÕMÎÉä**Í+ÉÌMµå PK
+ A ) gradle-wrapper-parameter-names.properties PK
+ A org/gradle/cli/ PK
+ A ÕÜ?®< S 1 org/gradle/cli/AbstractCommandLineConverter.classT]oA=ëÚ"¶µ~C?R*O¦Òh4!ÒÄÇaY×m`C£Âߢ/4ÑÄà2ÞP´ôaçÞ9{ï¹sæÞÝ?þPFÙ@;:v
+D°c@ÇóÀ{xY9yxÕõ\Ycfs§Úß±V®g{m[´x»KHªá[¼{Ê
ì' &?»bÃNɼӵKV×-ÕÛ)¸%ü^{ìÈ÷Îm!mQaظÌõµÿ¯|¢j«U©nÃlãóR{Né
¬ì¤}f[²C¤
´¬-¢ kôÚÁ=,È÷¹Øak^ÀÌÁß«^tÊêÖÂõ¥-J×_,»/]ßèØc¸ÕtË¡ +;X¨rîCµuVQCW uÁhúCaÙoÜ «ú¶Ô1aà6Cúºë2QľLÜÃKÂ
+&!9¯a{ Qá23Quá{¶'§M¡Ð~rÕÝìõ3|i153¯mnDevf¨èÎßJ
£~-C
Hý;"d©9´´«edcù°äDqÖ¸SX¡Õ`I²w/!)²:·FyÝ7²ÙÍ_|¼@ô8_AË#ÄöFVX!ÊK`öªR~;©xëô)ï>=NâRnp´âØcÿhÿâ¯òÏô4=c/-e·ÿPK
+ A ×µ³X ì
+ ; org/gradle/cli/AbstractPropertiesCommandLineConverter.classV[WUþN2ÉÀ0å H¡°Ô¤ÄKKµIQJ©¦Ø;L0fâÌáOøîZ¾ûZ_¢tºúìÿñA·}N.iÊ2Y9çì}öÞç;ûvòëßOð6¾Q0÷e| `ó|¸£`w,â'?ä«û
+ÒøHÁÇÈô` Ë=Å
+V»ð>íB¶xÀÏø°&cë.cCÆÁiÞ?]cì¼ÁÐ1-c¹¼·i8´Í"qB[×kcrºÆ¼mÓe¸±B¢àhù¢Ðfb~ÓõM÷V»d8i¸öÞfå¹ÙÛÚ'¦á$
+F]èp¥ä¶Å0fv´}-QÔ¬B"ë9¦U ÑÑ»§E#Ï0ÖfÏÕ³f±[·-³PvòTä4ØÐV5Ç%\ÜÁX3L¾X¤íÚQgIW´¬W]Àp§0?¡¬:£ìÅÄVJFOѹMA`i
+Ò®q¸¦ËÆâAÉ1\W@
+µó¦\ì¶AÜA)5"Éã4¡æä8,ÕäF³hªJ+g^Èz¾KÂañ@7ª e<¢ fÍ¥y"¨ß¾´;D='þû+;î%£,üW»J/G¬dí²£÷L¶Xg<Ãm©x#ý§íªx
+ã*&0.ãKo 'ã+A|gº<ß¡ o©(`[©b»*ØSaÁ¦¼¾¢¯ «ÂCû%MUÅ4¥Ü¹zÝù%ÜLEu|tg·1qBuÞ)÷Ëk$1Ãøú
+5ÖÈÃÖxE;i1g¯÷Yu[së°¨ª¯D:2ÜKZMÍu6ò?Al©T'¶[ô'\íLz ½¢oBE1]^½Í.³õ¡&
z6ðK®Z6<ñ¶ÒS+Yh~ßu.VÞ8XÙb·»u÷ù2©¿iÕî°t»eÔd£N§Û¾³áH;¾4AÁ?2/y/ jéÀ~¤
£431ðº¸Ë$ñ¾ æÚ<ÉgyWjFK$í§ùj,ð¾
+ÿtþìD °¯ ¸'R® kýøÔ$G è}/aNäÆ«ÖªÄj~äú¨ýDHñæARüôßèô ͹?·î
+#ô0,_;Êðiqá9|·¤)Ô[Aßl øq"û0àÇú%ÊTÂéq¯Ô¶þù9þNêËäR7¦È3ä
wÈóo="\ü× ÓbôÓjèkDóÛæ·ÊQ0Þ¾Îá-úé#KuïsÎuâÜQþÄÙ¿ác¿cøÚº) Qá=áÐ[ýótxV ¿p¢2?Ç`á'g[©:¶é«YMá¶çþPK
+ A }ÎyG K 1 org/gradle/cli/CommandLineArgumentException.classÍJ1
Oú3£µ¶Zm+êÂî´UÜV
+"
+ÂàÂîÓiFfĘ́¯åªàÂð¡Ä$-U´fq{rïwOÈûÇë34K(`Ëmu
+çöêþ=}¤^DEèõSÅEØ=.åT}.ØmÐQ¤/
+©â&
tÂ_ªÐGÌ"î]Ê8¦bl *Ìb&Ò«ç=¤\.³$¡¡¥þrAÐ^âí2(ùdæ[ÃÅf&ÕVú2S»æÆoë/c§PF Î?^E°û5ÿ.)Ùâ-äõ/1ttuÖÓyNïN»3y±÷+:¬ÚÔ;XէƬJëkâ uÍ0¬Êu£gäõî¶;ÇSä~ÂötÓ¾
ÌÊ0w3§*6¬ÅMÛ]ûPK
+ A ³ßâú g ) org/gradle/cli/CommandLineConverter.classQMKÃ@}ÓÖÆÔ¯ª'Ï"4
+F<6¥ EQ($xߦë²%ÝÈvSúÛ<øüQâ6
L
+]Xvæ;÷߯o ÷8wÐupJpL-¸6~/²óS¦ÿb¸fã%ìu<å ¼*Dè<.þid¦æÎn$
b&×pW'<(aÑR`ÄqàÙKxî
¾Ðlr?I¥ÿÆôOFÙlÆÔ$jçήwÚøºvRm_U%J¡¡ïÐÄýªñ°vJQë?ÉÔê_äFë%p}»b.·;o¾ºÿ-7ÛZä3®ÌfSm¡Õi¶M´l¶g³ÅÛplÔÀ~Qqk*[9Àa¯#ïÉPK
+ A Sf
+Õ g & org/gradle/cli/CommandLineOption.classV[wUݦ4^´i¡\ä"iBµ´ ÜZ.Å^ÐÖÓdL¦0pïwü¼ø¦¼ð .UYËå¾ùü.¸Ïd:ܤËós¾³¿ÛþNæ÷~þÀËø&m8'ã|kEZqoé¢Þà.Eð
+.A±AwÃh/ÝÊ
+iEHzW¯
ª8ÉÁC^ܾ&KFA-A6ó¶næ
+:¦®¨×ÕTÑÖÔfJhÓ³9Õ.Zݧc¥¥¡æ²©9ÛÒsÙÑü¡¨V¶¸ªåìù[y^ÚäÓ7ÔB*«÷Æâf$£Òî8#!Z/!¬çÒÅeÕæJ´Dÿ²YÌ/êö¡jÿL+ÊZjÆÐRiCO««j.3¥ç´YÇão8£å--ÚZFBËÓíÃbqùI[³ÔeCí_73Haf«Ë5/ÎÃfZ5TKkw³Åtà Ú+:3¼ëÙNUædz-¡»Ò Óë©çkê´ÍÙjúê´w®Ê(ʸ.!¹apV³g×)³)Þ_C½Õ{
+¬
c.[$Çk¨Ò¿lª¹'è´¡«{âRS|~2ävÆ?á§êæõx+ÉÚbi
¢ÁÈzkNu#£Y¢ j>¯å2ÓZ¡ fYËT¼¡òRQûxu¤Wx8Rº±Eë1Ã0oøÐïgëmñ¦¥74¢Ór_q9éë\
WOw¸/jÝh¼z"#ñÿåÐzÎ,Zií¤.Zª»FkP *Ø$}ÙÂiµ°B+
+¶c
+na·]bèÇïá¶÷1£à|(¡³º2>Rð1>aÑÊ Sz´5 ½xAÁ$>UDé¼P~Ã.*8
Ó
+öÊï%>ÃÏñ
¸û¥¯ðµ;ÂôÎg¥¨ÂñÙå+ZþEkßõM'
+gÓ6-0ë:ú¦NVçÏ=!!¤{ÝLX`©e2zF»I«Á3Uö\É%ÑNµ§e5CC]ñZ]AáºmѸYC¶YÚb×Z.+ÈËØ&%ôÅÇÿëbÝ`¯ð)ð³sÜ4º"((¼á{±j^×ð<ÿ¸·ñë QÁ*°>\¸ÄòÖ{ø#åæóÎü%ýNîíÇ ×\ý&9I<xÀùÇhz`âG4?DKyGN®!$azÿZ%ÜÅV
+a ¿"2ø Á5(,Þ{úç¢â¸!Û¹¡=èÆVú½£ôé$¥Ij¼Hôa¼Dÿ/üi;ÐßaÊ
+çÒÎ¥»xÊdôÉ8$ó¬ð«TÅf+q½Yøú£r²*6÷:^ð]Û%׸wG\788ˤHir`ÂÎv?/'¨îìªØÙãç¨cæGaf;B'FÖí|vévÊçrȵ#áx=¶zCÄ8Pc.ÆÎÑ}vr c¹ëü
+JRÌ°i1!¤hô¹ÇØì]ÑnÉGS³
À¯Ö«ÓÁ¢ô0§»ì .§jÈ5"GO¥ú ýªñ¹nÝæJ0¶·ï.b4Öó-ÂÉÎлn=ðw³"`<AF%H)$'J ^z]ÃB$«tÆ¡äAÒh3Ï_ÇëÈ?:kR<Mã3
+è :Ur%°nÁ:ÇöÞw÷lºïSâê¾¢uºÞÚ
+ÈYrÂ
ìѶï .ø;*ÛĤǪaQN"Zñï\ð¡É©öÕ誸DËu!Îzqù{9z¿ª3uzYbçÖ»ÜU}y¥Îeòz¯\ý
+_9çqwA461ÂGuM!&Ö°b½íÎc's¯BJ1Ï·û§P~YÄNÂ{YÞ¢´àHÿPK
+ A üí¯¥ å ( org/gradle/cli/CommandLineParser$1.class
A
+Â0Eÿhµµ
+våºk^¡('íP[Òêá\x %¦¸táóïÿ×ûñ°Æ8DbDÏæfsÞV ³Ì4ÔžÒ|Ö±]Öò. ÓÎq.Ü^M"&Ì-Eie¡Xäª?áÅ0ÙiÍ6SÒ9v¤ëJêR/5ç-!ýW¤ ôð¾_x`à¡×È_ìê$ú PK
+ A $f{K ¿ ; org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classÅVëNQþN)=°-PPï¡-´°B
+AIð߶]ëBÙ%ÛE|ÂWÀDJbü§ñqÎnb[¶ÿËÌo¾9;3{~þþòÀ V$4#ÒHCTB"bôb÷89îͨ1ã¼ á!Ç#)ùJ-¢ÝIÝÈErÍ+L^$ô-YË&UMYbÄÉz\ÕTsa¶×ÙüoK-±÷1¸zVah¥´b<Óy´%õ_
+UìB· Ëpqꥩ3ªQ0WwÒEHß¼¦)F"/
+
+Y8rT¡8½cË
+WS C®²a¦¶MU×8öÚvEJ°^ô&7ä×r$/k¹Èªi¨Z.^.ésf^Mêd#'.®¾nÙ©ÐREÙißÞ¶Ì梼m}
+ÇçαƬLq½!&A@-ç¤U}ÇÈ(3ªH2qW>´á~´r<ña³s>Ìã)CÓÕ09y®mjú®V!:«©|¸kØ"%²£
*ðÕý5&@TZ¥[AkI)᪱Zb²=NíÊr2¦jÁ³
+å¾s¶åÉ(
B`4JY:TCaôÙeºcªùU¨°*çb2ôvTzCÉgKEËÔ·Nö¶R¯9r,m:µïBM}¯V´Î÷{"O.6¸ÿu1á³ ¢~è-ôëg~¿hW´ªKt/ÐOvs´¯£Ù}+
+ï£î=í]h§±YèØ,êÙ¼l$ë Ùã® ÖúÉ®7õ½ Ü4O?Àõ îðgÔ»ð
+¥þïh; _¦!ÈöѸw iý ÞõP¶¾þCEÓEVÐh`ll í,
[±¨m'GT&pÝDA¬nÓÊEÀÂé!iØ/8<~Ù[$"ÀáVôì8zb3%®ø+>gÖ*hÅ/V!r'î·ßÂÀe§Ém3=³:Iræn w¿NÄ0ñ¾!ñØuñ2aÚíÂÍI·ôPK
+ A ¥D£¢ & 3 org/gradle/cli/CommandLineParser$AfterOptions.classmOAÇÿ{-½r-´¨ >W+p"ÆDð!$MFxa²´g9½îí¡øü.¾D%ÑÄà2Î^ÏrÒcìÎÌÎþffwnûó×· fqÛQiu4®£h IS°tLëaÈT¼zjÉ6ÃPÉ5«&yÕµëXO¹lØÕ¥}ÔG8þ]±x÷ñ2CrÉ«<§+ÛõM[>ã.YN¼
+wË\:JIËi0dï½ômùäïxB©ËBØrÉåMªu0r$fóuþ~Ó^õ¹ôFþ±Ò+þ[.5kÕ¨-o0$¸¬©äÚz<AèeèkÊͨ´èS
+ÈbÅÑÆVçï
ùg<±â?ÕdþÊ`±Smññ¢t\cX>ÂÇcg>Ðv¦Õ@]7|-ƪ·-+öCGõÅ@Ϫ0²j¸E77æcékâµðÞW7xØ1§ãf·0Ï0y¬d8ÎÙ3Ì¿5èó?UѶ=ì¾
+q~:5úhhþkºmqéóåÕê_ò2w·íC^2
+ô\¦é
+¥G@õI]ÐT¥´G¤i4gL¶Í,~AbT
+½4ö"A;£Ã`Èm é<N¤°~§ÐBçhV^Zâc"ØCk14²82ÓÜw$×æg$T] +°Ðtms!PIçIÒH¾K!z1¬ÙPÔâW¤Ì}ª¡VØÒ̤j´ÈFW
_y÷ÉGÅOÅ=°Ý®E2Lµ8)Ǧ¤+2 v^¥Lº'Æ>ò:CóÙ¤ú÷3qæäÓôhbÆoPK
+ A Mü u < org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classÅVërÛTþ串Ò:¦I à§I|skØiK^ÜrÕ¨±¥,Ó¾À[2ÐþáxöHnb×Nä0áϹìÙ³ûí§=«ýó_~02Ncñ
+K2°È!aYFø«Í
+ǪP»&CÆu!Üä¸%ã6>1u¼(68
+wúoz|a,oÙLÅV·«zF«5«VSÍí¼aêwU»®Û9Ò^6LùÂpsÒ_ýu
+W¼Ý¢ÚdÖ¬mál4jeݾ§«$æ-Mnª¶!öM¡$à2ê-[¿aØu§Ø(7m2(·MS·×ªj½®Ú¢/ÈxWCiX;PíBNg,YtTÛ)<vËäøaÐ[{¾èÐ![[ùGê·j¦ªLѱ
+³ëLùCï°Mª]ÔuØ£og¹úD·ðh[hÛfzu¼ox°
ªBÓÇQÙä鵶sG}ì~\"ÃÎÉ+ÿfÝÜ<ìæâ½ÜcVÃÖ(gDBwèLîÅaá¸Ç>§âò}øã3%l1ÄüøTð 3,ùzºoîÖ³Kf=ìHÁ9 T_1$w°bW5Ýt®?Õôfk5s$]%½±ñúÄ4Cä YåGºæp|@EYxÔ.ù´~H@ÃÝ]*ÿ[qèçråjëí;;þk§Gæ®G&§Ä°ÞSEêõQɪ¦éõz|q×|ïyÊóÕpj(mªjÝa8ß
+ÓËWw[Eñ^lqá6v¿ëÆÊ(=»WN#¯#¡rN©YS¥.8ÍÔ~éêrWøûôö¿¹ÿ¿¨KÇ*bÔ;
+QËÅ"Q¼iD@Ôr0¼M»[´Ò¬$?!H¦vüö¼CãIqÆæÑÇfð.Ééô1J¶á®¨áoZý}4«{JÉÛEßFâG£?õ3x /ÊJ#ÒïõÄ'¾Gtr)IÛpôg{(EOJ¿âT).>Gd/ö-¥G¤WZo=sPß#`K3QÃ[F]F]¥¶pÕ
¾àÚ®bY¬¦h@~R ¤Èæ(®!ijJ3n¿ã8B§# g¡HW¢»Ü±îú
a6ç:Nx*û9µÀg\Çó.{bµî×¹èÚ¸÷i^E¾` Nó¸$úä,ÔÏSD¼Ñgq¢Îâc)/hþRÿPK
+ A ´*«ZM ï F org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class¥S]OA=wû±P·RË"UhAx1¦¨MLÔ¤÷¡êàvÌnÅÿÀ/ø`|öñãÎîEkâCçÎÜ9÷Ü{Ng?ÿðÀ&6°Q)`Ì,9Ü5Ë=K&½l£fcÅÆ*!¿¥|m2ËÕ]B¶t%a¢¥|ù|ÐßzGìy)·ðv
Væ&³Ñ+æ"M?~¨"u$ÛV~¯ô
Q NÓ÷¥nx"%<iºçö´èzÒíxÊel_ø]Óõ¥Ð¡ÔuÝO<ÆÒrë@ ×~ÏMõáLµÉ5Áa¤Ãè]o²²®Úß'×Ûè¼~&SÑ纽Ø;¨>©6mÜÁ#¥nÔóÖuBå_Ðñ¶êù"ñ[f)ÏýåØÖ°àm¦*´îȧÊHj·fpÉÁ\ëp ¥ß©LbÊûúèÿÙsì ÂÔE£Ý"L¦ïd'höü@KÓ0}Á1/düMXEÏnØü
qsYXÆ'>9|r9Ç\í=¬w¼±Pä5oôyï$ L Ì
i±ftcyeõí¹·ÈÍ}ö³©lôy:E¾Á¡1k-©LYÍn3q§2®òÎâ\ÃuæM&:åâÒcî#íÿï2µOÈòïùã¿(&íJ`æRÔºØp6k·0Ï÷,ÄøÛXã\ç·Øî*wÅM/ýPK
+ A |ìRÎÐ & = org/gradle/cli/CommandLineParser$KnownOptionParserState.classÍXéwUÿ½6ͤÓK*EqDèt;VkE¬´E+.ɤ3ufÒî»HQpCq<R¬àzÜÿçø7x8ê½3¤miùä÷ÞÜw÷õ%üóõ· Zñ
zÜ%£wK¸GF)6Dãe#/q^¼èºIB2 EØ,£[ø`°&,FQ{ùÓàʨÆp#2bØ*cîãûeÜñÁbÈö
+ÜyyD£|ý_?^'°]ÂLú§%<# XC®a½®mI Ïdí}v¦nw¤4ÇÑ.ËN¶$m-Ò[â)£¥ÃÔÌDaê7i¶£Û'Ò_)ö%,:
+©OCØñ° '"1HÊWsu ϵ¯B/ë:UÖRi¶²²k³6¬µ¤]#ÕÒe8.Ý÷ISsÓ61^<åz¥ÿÒÌdK`w³[iÛ&p ~^+î©âñ
+}¡+AÖÅ(=éÁº}«¶1Eª.+®¥ú4Ûàï rrUõÓ1}&yÿòâ
+&%ÏÉÙn'Óºé
+\[ïÞ6¢eùUå³Eñ-ÝÚP`Ýl
f»=úVTXZ?c³º{æä,)o¸Ã3(R:{©ÌK9Ê\ËÐíµA©(C^83yéí +$¼ a~ûÿç\qìe^^l]ÊË2^ZyYÎË
+®Ãip ÷Zi;®_op`«óp9\¼ì«îvÛÖ¶qóÕK
+.Åe
+¢hVÐ¥
+¡UÁr\¢àF¬ZL¬Úר.®Rt¯ú]R[âÔ© KwTÓrUWÛ¢«©f·ZS.y×nܬÇI³ñ
+«·KÁ«Ø-°²ÝTõÁ!w[LÑuȶP7Y¶?
èf ¯)ØQ]èT°k¼5Þ¸¤¨·»
+Ç¡\òó
LZÁ¼pÖyqí±ÎDQûñ¦·¼w¼Ý
+à=ïs$ÚºÓ)× Ë²vÔÝÖ§Íü >Pð![ÿ>äu¿\|ÂÿIø\@-V<
+á°À¥gØZ§YÍæ5ͨ-4Τ¦j§×ª¨
+窬ÓÕm͵løÅZ nÍïÔpi
+S¬5ê¿$뻦
+b^¡)ÄÌSºt<YÔó'¿¬%S¨3bhTÑhO¥¬ì *Î*®ßÓ¦o§Àúi÷ù3i½Z<®;Îâe+RîéL)èÉ©Fåe=¶Èi<¹»ãϪ¼a}ªIǸeR(ú÷_U}Cþ°&«Ls³ÍáêIÄÜ&Òæð{DÞvv}C~Z°ÓÜ£A!±«m+=´Îà43{¯Î³&ÄÖál¥-9]Ø2þêJ¿8èÇLªxÄÑ©§·Ó óvuÞNsTOt.ÁÓJã Wd'ýø)£½6*¢$z¥ýG:²hìÂÑÆ#¢MGÎ'`ùaG!b/ÊÄT×1O¼±ýX"ÞÄÕ³Âçkp-àXSáX×ïÄÚz'Ö7D÷¸.Ðî-ÂX=Ñ1È{±à*ú«Ð7Õ_ýáÞ¯0û(Îú.6ÊÌõük:ÅÆQUuÄhî!âXêYQCÞx8@¿ZqmâCt<ª}éYz°
+×n«éBÉé|:m7xÚKH4³G1%s0YÇPÝÏ^>çÐd%f³ùâsTCPÅ`Åg^íá
+ôt ¤µÒÎH@Ú'ÙØNr"#Á^häÛÁN°oGQ7AUßçt$åYFRkº|²ôÃyÞaCè@Æçg²°pPÆÉëèn'»Iì<:\(ð=õÄÆpÑÁÿòÙ,§ÊáÁ«ía
µîà¿Ò±<çÔV²â8æoßSTÀ=âG°KüQñ½~Ãqñ;~àWqÂóW|²ò¶â\ãä¹ÊTÎÏÛ°kqSä'×Í'Q.á¿Qsw8¿Th·áÚDL)Ù GcMóCG!O Ø+m>V6ådܾ hd¬FÆí^Ñð©w¬÷øÞ&Ï
+aÄà îWÐ~qÿªpÐN߽̾2BIî
+þ7ÄÁ³!ù?PK
+ A $ľ¢¥ ô < org/gradle/cli/CommandLineParser$MissingOptionArgState.classmOÓPÇÿwÝÖ*LDÙ²
+!¨ Î'`0ÁWÖÌîo;¢ñoôÓøB
Ä~ ?ñܶÌKËîÛs~ç±í¿¿~År:È'I*(uZG
+7ÕÙqãeÐ-ÏrD·_øòK.]S®zÜ3§B²js×5]¹#ÅäuÛ,nÚV±ê4\Ôk0¿É#%r×w¡í[cU:å3¤WZÍ
+S¾â6®9Ü^ãÒRzxóÞZîÈsËu-Ñ˲VµÐ;®TJºÉ?n¤I/¸GQ²µw|m.ÅUOÛRn!ÊeCåwä&à # Ö» º@ûë~Ê+Ø:0ßÝrïæ`´#:L:ÕÍÅ1Çð¦¯÷ö)û[ùPR2Ãäq\ôU§%7ÍÇÚÑ#63ªVÛt201,¸Kî`<Eùþaú$ýe=y&z·aêà °ÜýÒýioÙ¦
+SÊx[t¿¦)<L/gdèí¤÷=Ij$i¨ ÑÉ0iOHÐ*ÏöÉ~"ºCjÌAæQòÜ {I¡³ÑÀgI/),£ß9
ÐŪå»}kó4º¶ÝÁÑÚ
+çqÁçÐg2À`þ¢»(LïBû~÷ÉÇeÃ6n0Ä)I')Bòeà{aI¦ã¡;rL¶¡Év\
+Q_QãëÿíÓ;ûûêãÀ0À¥AS¸Be4hØØΡdv6lÒo¼®ã_Ñï¥ Äh8%1õ+aêûUÂÒ' øPK
+ A TK>ª Ä = org/gradle/cli/CommandLineParser$OptionAwareParserState.classUÛnÓ@=¤qâ¸$6\Ê%¤)MÝKÚ@)½p)E¡ E*oÇÓÄ®Ö
Oáxá$
+J|
MÝ*A./Þ³çgfí¿¾ÿ PĽ8È©Ð0*w×Tz©Èc\
*L+(¨cVAQÁuá4Ü®,ÛdÈQ/Ô¯5ÌÑ°
+O¹pÍÚêÌCÔ{i¹¹è\û èe˶¼;óÁð`ùñ
+CdÕ©Q²IéØh5«¦xÆ«
+ò7*\XÒö.Cúɶg9öʾZÙãŵuÛ6Åj»®I¸
À,s½è]SMþ¶j%¼}ÃP¾ô¿æ
·ë
²',»¾4þ!ÌE]&ܤ8öc$${¿]pÆGÓ짱õoûRËNKæ%t×éi©¨!ÓÓÐSnbXÁ¼[XP°¨a Ës¬¼ðL±f ×+·ª~a°[ªÝf:ç~½¨Z§)9höæOØSÉ©»cÁsmÏqÌrº |ê¯Õ¼ñ¯ðFËüËdUº©ºÔ©áÜ0L×ÍÍÍÐ-=ƽ»õ_îïqk³Þ¥vr®l0.¡Ï¥FÒå|©xò¡! òJÓÒ'vÁtö!}ráOþYÐY³,T6$Ëa|iÑZÏíÔçûÌdKTTøÈC¾(ÅÁò<ÑC(.âÅ.#ãóì ¯*ê&ª>ZÙ7Dß!½eSZ2BÇÞ#¹ø¦oªÛo+5UÉÀ¦cÓºÅCÝ¢¯{ö
+B£*^ÙvÒ#8G«Ni$èy6¢+ùÿÑ1E83$r£]ØoPK
+ A %àÌ» ª 7 org/gradle/cli/CommandLineParser$OptionComparator.classTmOÓP~îÖÑQ:¯
+¾Ý
+2@.Ñ,YÀdÄe4³¤kIÛ?/~#á³ÿƨ_ç¶
+N6).]ÏË}Îsî=çô~ýõùE%d0#¡¿ú0+bN UÂJ"E,IHs;'"V8|UÄSk"Öz6LÛô7eA(;êi;æ¾á¾Ñ÷-òVºníé®ÉíÈ)øïL!»{ä]vGº«ûË WlÛpËîy!ªÛP®~`jÝ2UÂ6uû§y»áN_åÐÄz`Q¢W
kÂH-¡TÓ ôÃT|À%|ÎÚ4yÔ`õP?ÖUK·jÍwM»¡
kÉÚw÷º¯uz- ÇÖ¤¤ñ$Þ/0LßÍÐ[3¶î·xѪÿÚMË7-õO¥7â±IÔRÍi¹uã¥É;?Ú~SËÈb@Æ Z½a×ÃB¶ÏÏh÷Îñ\ƶið®öa+6eY÷í¶gúæ±Ñ{"!c/&ãªÆqã¥ÿý¿va¸[ëhãÇZ×0ü0 }¥mj¯]{
a¤=¿eÑBº$Í>½Pí¶Þ}à4¥s2¯|=ѧÕéQ*t±e躣K.@ >rd
+¥d$S3gH|$%!z÷p'ûaÒåÜ!Éx¢àD"¹2{ä9·ì©O蹸SìpçHs»wnL8
trI"þ!öyö3Ⱥ2GY¹v÷¬à>i<2 Ø<l4!»M»{ínVÙôé
+ùä#fÂdYþä"5¨>¬{}FCÀåNSÆ#ZOâqÏ£H·INQÍ2(RÔ8éô˦ÉSÄ<ÙiËÿ
+PK
+ A äfC§ £ 8 org/gradle/cli/CommandLineParser$OptionParserState.classßJAÆ¿³Y³º¦ÿ4Õ¶Ö¨£×JoJ¤P¥
H.¼$Ã:²Ùø
+}¯/ú }¨Ò3
4»ß³ßùÎýýçá#ÔB°ÂÇFÍ UBñXie?
+õ½Áo¦}IXl)-O®4ç¢pf¹öDÒF¹ó8éÛKήJõa2iÚVXþTú®µ4ÍDddËÇVjâ(6¢È¨¨¨B÷]Q]í¤AXH5ÆÊ[ûÅĶóOúÖ÷&£BÃT3k8ÚNê+q#¢Dè8j[£tܸKûMdT¾Ì¼W^'ÒÊ ÛÝúdð[w{H¨ý»´Ó¡éɯÊm¤òÌsàÆ+aÅ ;£é÷@(?^ÑY÷JöxÂ÷Ó\a{ò(ê$_åÿ×{ðÜL |XufÿÞfs'é'æ8.ñðygXÊu+¹®âe®/;çÚþÕÃéßðÊÈ0çÑ:^çeorÿ[nÎø}y?Ä"kõ³gÿPK
+ A ¢Æ÷E« ¶ 3 org/gradle/cli/CommandLineParser$OptionString.classTÿNAþözåÊqZDQ´GËQÄ kL&(ÿ[®rx½kî£âø/$&>ï¤qv[lBÎîÌÎ|óÍÌîýúóý'9<éE?LÄ´4B-¥0£ã,
+³:4
(1Âmá;¯á®{ Ö²ËÛü#·<î׬µ8týÚCOÐÝÀ§Í¢ë»ñÃT¾Ý¯ÝRXgP+AÕaXv}ge§¾éoø¦çLͽuºBoÕxËU° CêßwÂǣȡSk9kV-äUϱlϵ*A½ÎýªHñæNÆSé?s£Ç?¯ð:å¹/t*´-æöW¼!éh¸Ïæ±/ÏTww~eÙåÓ¬e!ærgcèã¶íDQ®<?Káü9»Ñ±p}-Ø mç¹+0Ü0#B\@Æ@B<401/,`aäܧ;®WuB°dà:Æ9_ÁÇ¥sñfÈüÃ_ÝÜvìøéÈk¢{é®çEûõ(æa½sã-¡-¼§+Ï
+ǯÝNm¦VÍÔÒñnD0NÏ/MOW¡vR/i-¦5)m JÚi ZÌC$Ìé}¨fqlOÉ0`ôz^@©&ûx3#¸ÈHÃäN$RhOÓh¥¤,ß fèù±Ð6j/Ù-пbôè ïÔÁ.Å'$§Å4ÉÃhâ¶x\¥¿eòF&&îEE«pL0v«k"'M¤¨üF+xòªÙ.BÙ;ß2Ülº7DÃD«!nÊ]HdR¸
©6fTénGè#fZA^ÊFå|õ\N3¡_&õPK
+ A gAq² x = org/gradle/cli/CommandLineParser$OptionStringComparator.classTÏOAþfvÛ
e¡*Z@¬ÐRd) H&ULjHô6MY\vÉîø¯ÀÉ^¼@¢Ñ«1¾Ù®(ñÐy?æ÷¾÷uf¿|{ÿÀ"VtôcF.
+y
+³:TÌÉåy¹MÖÔ° ¡Ä\·];Ü`Pò
]µâí[C5Ûµ¶ö,ÿ¹Øs(3\óÂÙ¾-ã8©vÀÙ9mϾí6+ÞѱðEèùFÕu-¿â °·Vóü¦Ùôžc
+Ç6 {$Ü}ÙìðËÏ]_©Ì 5¢ÎäkâDpfYîΪtƪ$û.Àåö"x~H8öòG@ÙT=WOÄq<íÆ;{V#,wg
+U
+¸ç°¥²¿^`Èý¡¿n7]¶¤ëbÓ
+mÇü)Þz÷ìTJ¯{-¿amÛr´LW»yyÈ%,kxÌ°ÙcEVÕ
+,7°CûÄê¾=²ã¤QdÒ¿ófXýÏt¥XG,ëÔbêýOÐ%q,·DÏnÚd¯3X w§a^©
+.
¥h",#½ GÇIä
+Òä n`,òÄ?C¡<°U<¢¾¦¾
ªlÌý¨ÙSè£ê¼=î)jûÔì"¡m*¢DÇé³À O"Ë5Ló>ä¹ÀOE;McBÒ»
ÛÉ-Ü!¹%á.ÕÌ"{ä©äN'Möë¬zzÆÇY%¼B65[üm~çèkÿETBZÆq5²<]/h¦¸äÀ}LѾ>ÆM²cïGÃäMHxº¦) ±ïPK
+ A `M~U ¸ 2 org/gradle/cli/CommandLineParser$ParserState.classSßoÒPþN)sÛÔ97Õ½&MLÈfÙÃÞ.а.åÖÜvFÿ'_|ÑÄÿ ÿ(ã¹-Ý A´çG¿óïÛþþóó´mdQ³C-Ç6êxbaÇB{áI/zIÈ4dz\ÂjÏîáùdàªbàs¦ÒÂ?ÊÓñ4iF§^H(¼*tU?'ï¤tU×aèòËv/Pcg¬ÄÈw¡ï9Ý`2r¤;$uõTyP/#}¼@Ö½3ñI8¾c§)O;ÍBÞ/ ¡ÆZå°È
&¡øWtÌi2§íâqf¸YC!¼ûzÞ<Kï))È9²°KØi,æyÖÑGm|~J¨ÿ`÷s5tßzúÔ7f0m=Mò«ñ*lî·[ZEì¡la°·Ìl<Ú¿í
+ÎÜaD8X~íÚâá®4Kghxª¿Þê"³Ê¿Vú²`èp#-±Íîþñ6?s:I%Ø/& ¶«ÉJP*lWºUÉ|ùõÍZL³@Ø»
5®ãNL|'Ü»T×c¾¯+ÛJ)£²¤)ïO³5¦cÍRz²z²xqY5Æ?ÂM¶Èðm¬6Wlã6Û-
+/åÿPK
+ A pÍX
+Ý k ? org/gradle/cli/CommandLineParser$UnknownOptionParserState.class½UËRQ=wIÂ0@ñ
(I±ÒÒ*
+BY°»$Sqt2CM&Ê/ø/.¤G?À_7nÜè/XvO¦BP!.ÜtßÛ·Ï龧o&ï¿}`
+·5ÄÕб6Z³É±àIR¦£¸Å5µìIÏâ@û#é
+wúÛ6Ü%KËFY`|Ùq¹¢+Ë[fnÉ)¤]X6m£®Ï ¤[H,?/dÎv1·ê¹¦]¤£öüV`è0³ÏS¨ã'HdÞ´MoAÀHelNÐZóé5ðS æº8e¥RÚ0ÜÇrÃ2øFN^ZkÒ5yÃÞSDêb?·öÃMÏtì¿ä<AÇéúEû/Ën±R2lÔM¥×)ìØáz+Æ·ÈrO¤ÒÎIsìÚ;
+Ôm1&k|DNÙÁOlVàÕ^óìIÂÊÖI6Sl¦O¦k:7oÜ3yöÉ#9ã|G=èesSGâ:ºÐ¡¡SÇ¢Ó1[QÐýç§!0ÕÛ ÔÝ mEdúÕ6J`$uÒa6{²P¸»å¹rMZÚ÷5z«
+¨Ä }ÛèKBB«È÷4%ò(<>PÚh&ßûP2£»e²»gÆv¡nÓ$Ù$T@|*>AÑ%¾ W|Å):ËT Ð3¿âÂ_qIÅ_q3!Ź t<g)á×µ:o>¯^=
+xÎc @æ¤ÙCäÍ!ð÷:°Z_ eªàYòÊqà>8YM¨ÝHÅEÿFw@³@9\"Ù!µvÚCzÀ¨1øvñ«®¥x&Òák$}ËfÇö!¶uõÁÇÏTsj]Åp9Ð9+Î1ø:ó*
4ñ*4fEù!´æ¿Ë¦./1YÍ®µ?PK
+ A £= l) & org/gradle/cli/CommandLineParser.classYi`\ÅþJ7zz¶eÙ²=`láë1¶°åS> K6±ÌXzF϶8B¸Â``¹dÙM¸ÂÈîØͲaÙ=
+!l ÇÇ~ýÞÑÌèüPwOwUuUuÕ×ÕO¯{öYòT:ñ±jþW5¿×±hø/>Ññ)þ¨sú3
+ÿ§áOùø
+>סãyøRÃa#ñç|ÁÑ|ìÇ1Õ×Wø%GÇÉÕÄ£c¼xýâS¿5ÕøE]¢û%_ͪ¡fFúeu¿Ö¤PÇt|Âe&cu࿱qª¯8&¨& ¤ä¬JOï|</Øà¨&uÔH±&§ê+S4ªÉ4óeºZ9MQÎФDÇbzAJuÔ©)Ó¤\Çr%ðmä
+zE*ÕJ_ªÕ.3Usº.³ä5É|¬¿©É\5§¶¬õË|¥÷¿,T¿i²XG3ËåHêxʬf¯ÉR¿,Sv-×±UV¨ÑY~9[yç]êe¥.çÊ*¿4P4ê²ZÖøå<µ¸V&Q±eá`<nÆãVw%BÑHS"´/îè
+ÆhLuÉËq³>7#ñP"tM$(°¹ÓùÎL8?²=ݱ×cq3Ö&LMÖsÇsO°¶A0ÚeúAQC(çÖöj]¬ÝZ¢-um 3fÏÆ5iµfÎ
+Åâ¦îmÔkG0ÒJKͶhÌÌ×dcÊu;13cßMüÍÜ0Ý[1«×¬«_ݸµ±®aÅÖ5uëÖXÛ(¬ê^¬îNÂÕ1³ÝÜU½& VùQQ[Ù¥=I£Ò¨]¤Ék
+µGî-\¹ºÀþFÚ«móWEcíÕí±`kجn ªÛV
"¦ìüE9:Gw6v»Êú1Ö|ÆyqeÌ41ë×òP<¸-lÒ¾¡H(±H[RÊsô,¶JîÔؽc[§
«¢-Áðú`,¤~;DG§|
º¶³©¬·Kglloi¶5M%ä·ü¤9.bI+vµÉÐÙ"[FUÏóRo;ÃRØñ¬`öFNçâ3#mL= 4åPõ%$Ðl¢ÓÉuöÎ
+* cÝLate+ïr"nê£uUCiظÌèéJ
Ç]B\ð
+kÙΰX5¹P°jØìÃ:ÄÉ)Bp(^Hi%¹
¯n ZÍükn»ÝÉ_>N¶§¢
+Ï&3A32gR4ìÑd«Z8?lçyÒO¤®«m'áÂf@çØh¬Õ%sÆUÊuÅÌ6ë3iÊ
+ž¹ÛÍ¢Ä%Áp77õDLý^a÷E9ÍV\ÑîEW
+p¼ vX8)â¬ä4iFf(Må¼aú}îà.ÁÔl?ºFò´,N at 6ßÍ7üwå3ô½á§ÉE5ÙF¼îpJÒ-Ãf n1íR^¢¾:ít[½BÞYñÔdïÁ3©R÷»MÎA-µVÔvmêϼ.(SYìnZ¦Q_;¥S©[ZÌx|Ú3ÓKFR^Ñ9»fpÎUgsPY1Oð/ }ëMÑîXk#
ÈãIªRrÜ[Ü
+ܬFßÁíD¨-Î Æ;¸&-´ià{¸OP<ìÁ´1¤MÚ¹t¨·\Í×ku§¸;5ÙnHXv¨!]r1%ûð Ã0§²Òt*Ü1½ðT]BجÜtáÂ-åì¸!»¤ÇKå2C.+%ã¥Åª2C¾!W*¢or\Mx´ÖÕ²ZÅm¸
U3W¹¥ªq\ÉêlE,rRzüà´
[UÆíºV®3ä[r½!7(GÜ(Wr|ÛåjCnÁíÜ*·ò%*ûÜŲ!·ËwYX¹À¤2Îu]Ì4y®ÓY
+<'kïPÍÜ%w't°3²ÝluY9LáÙC¾'÷dR{23$*
+¼0d·\/!{ä^C¾/÷hr7åÜÅkCPáæÉ:
+ù¡\lÈò÷nÑEñâbÅ`ÈÃ*Åƹc&{ý>Vi%±¬=f Ù½wbª¼eic^<cz|Fq(^ÇÌ`kOq+ïÚÙZ¥´ø±ró#üD¥Bí²`$M[[£i¼AòF3-6M<%wÅ3*gTø®×ä§<*iò3QÁ¦aJ,FÂ=Å-ÑH"PÑ®`æÄB-Å-<±Xñ©ö²º3ª¾2`íÃ×äqCö+E&l^|ùæ®ËêÂ{ŦԨrë²RC'éÔ!c%÷!|>ÏRÄ^ÒÃw÷w¶`Ö×OðF3<,ôdn>g?Ü_çy2°Ï|ôÞ%õ
+Áz¢Xç>"£Nd1ìVfY72³pLbÊ h1s}Á¸½6=£Jq®ÒÁÅ´Ï*£É9¡¤ôDuXàU ªëÇ»?¹²}eÊг¡§[»ÖeN(åóqæ%ÏB=:ñFsWÂú®Áz˱~-)u+Zv{¶©p,|¸Õ{þâî`8E< ÔrÐ_n¾ÆÛ·¥Cc^¼{[ÜÕ¢z×v
+ç46ºð<[]¿kt6SN¶¾oÌÆ;:ë´»ÔÚCêÕqÖ»¦[àc¥¡`©ÛÑ|ݽóÛ(~®zvúV7\e £"zü¸ª>²ÝL°P_·k¡°©pÊ6#í+Léüh¤1I`E4c
Ò/·]AËin±çع¼<í±hw×Ú§0=ëÕg3Nj'"³@#yëYk>nV²0=tziÎH_û»
ò×r3Þ%?~u©'þ\éßv³ÇBä
+Aå¯7ºÝo}m°hüÜ~½ý
+ÂÇ¡öWsú Èé_&º%î@,yÛÂÝñäÅå<ÞÃMçÙ<ïké³®àÇÖ²0nGRZÕñA<[1ëQ; hK½&§i13|d³7ØLó]$7$åJ¦þÙAÈh5ã¡Ùz=©ïæÖÂè´¿_Ó.óq*:±'©ª£õFà&kümþñ¹loU}Áõ²ãï¤áíwùkr9ârÙxÊúám> ß3ÈyÂâ¼ÎæâNwánöWñ¹})¬
ìm^YùAh½ðïO ñYL+,ãl"GíÆ®ß˱ý÷ùÇ7<£ÐÜ7hb>Åxú×ܽ¹ìiäô!_p ÆhèÇÈæ²
+9Qå}(àÂðôa´`·¼®F
¿ÂZoeÀÛ±»å±·°¨ãv£ ãëÆ}r§½8i7N"eÀKâ{1±Öðõâ\NIAUÀ[°°k|6e)Ðüå¹Èâ=LgiÅtªEëñ:¤ðúRtÄÔ=("õ4RïA~?¦ó(N{,$ªõ)³¾>ÌÈ¡»Æ)Y>gGK;¼åÈ®Õ,JÍ¡¼ª²%TZXÖrE\Þ
+ÕO¬õü½¨ÜÂ?i.UÁMjºªÑ[W§\Vý æÒ*þRv×ê"uG¤YÕxmì;þâ>,¦.®®³¾ÓÒKéÖÍlÜwlfe/N¯ØoE§'QÁö<L`LEê°+q>Ûõb¶ãô Wb#Ó`cm3Æ<ñ×Ø_ã"¼KÊ÷°
+£ÇÑ*#`Êx´É)hbtH):åLl&evH'¢Ò
.¹ËMÉ^ÄåQþ~;å9ôÈ˸TÞÄ7äC\)À5ò®?ãz9sr*öÅhêåÃp?Û»0à=QÖFÍ{ºØtwñtc1~D<jµÍZõsß<gTW)é!r|èðúiÙ§ØË9êäYìãÈ«²)}íÆqä#<07§Êûø)5ÍÅcÉt·¨~ÆÑãYc(קáj
+û`1ųg?¢]G¨Ña,:Ìhü§æô,·ê ÄSÍáB
+ÌórËög¡ÐTþ¶4Ò3+®"d;(âNW16±E¶kÛ¬ðæ f57VªñäÖx¼EÊEÞYµ¾dN>ÌÎÁk½ûßUôa ±Ò!¯t0¨F!SE/ÎÜwü²XÂSýá'æMâ©Íd_ø8ç¼ç¾g¦ôMÍ'¡Ð9Íóø×Kô(=SXº-,õ3úð,-N¡=ÓÏuSá9ÎPôièÔðçÙ
+Ýñ¦Q³ûc"áÛ%¹Ïp;°üªsË`q·x<¿ð¹à 6V¦¹è~,¦ïÔz*-wÔü¼®FG|¶:%f)ÅXJ¨X²BV4[J^ ϲ^l×úT{Àß
+úp
íÃäå¢ÁËÇ÷ü
gÄ9Ü
*Ô+±/#ß½ZáJNxy½çæ*úuìR6+í|*,í&©£VäUÀV}
+5^ÆbiÌÒbY¼Ð5»µùÉ
çyÇÚæ\µÐ$hêÅ:4¯"iÏù4¥h¹¾pm7¼ÙãH´ßÌ8¼àT^ÊÈRèÇx 0ÓK%³°kAægéµr7sä~ÆÝ!ÆÙo_ÿçðÇÇ9Ì`9_K_¼$³ñ²,Á+²¯J;~);ñÜ×å%¼!¯âMyxw§Ø#){9í%ÊqÇGÒÏ2wR»ãÞ0
+/r5{,º5¤ÙËðqÃBH»\
+Öd^pôK¼ÆPÎñ7xY§ñ+òçbÜ7X:y¨ñóxYçµ²FåɯSü-1ÍÞáï8gËèOÉø{zSe×
+yµNv½¥a®`¿aZx¼úà
+5ÖømèCãd"æQL´ðtLîq:ÉÅ
+eÍc%,3w
Çä]}sÚêê²S}ÆÞÇ~e?2<Ê_¯p媲>lJ¯0Ý©j½§ìA^Ãió
+uoQ£ÜEû¿Ãø¹p ê8Ð~?ÞâoSÑw/¿å-ýOijwg¿ÃÞ¶Kñ/´ÿýU°üGÒy^¤}×B±«,ÌZJ¾÷,;óô;É¢½òøxb´f9Ír¶öKêaß2ÿJ|ßsð=ijS8TÞPqhQn§ÈsÊØYQäUëµ@ÝëO~lm.¼ÈI=oÓA`2/-ÉõÖìõ'a*oµõ¢}CÓMswÅý¨iVÕò*,ØK¿:&U¦@Äcéå©HbÏ{V5ky¿E=ð!Æâ#Þ&³Pÿ==÷ k OÑ?âr®]?1Ë>gAäùy{8u
+cÑaÝ*^®°òHÝ*R·Ê!çV¹g©ò-yhÇà·.#¨fN>©_À{EV43$§øñïøçf®f¯N¹8÷Ѭ·Á´;ÙËlçÎdþOüsNöÃÂù¿]waìÌÈûÔiµ
+;{±g<¹Oajaø v<sð[©Gò¸%.ÇX"üÐ"ùQkGOa©XÇg\p³±Ï>Î>Á¾â.a¿ý.ö=¼¸¿Ç³¿ýì¿AÉ#Ù_Éþì¯òäð´;q
+é¯eéV)^ñåý?PK
+ A å>É & org/gradle/cli/ParsedCommandLine.classWiwg~FÛÈòÄê%vTMc[å ñR·8¶SâÆÆ)-L¬¬TÖ(£·.PhÙ¡liÙ7 `rX¾Áá;ßøÆ ç}g$KÖ¸1GçÌÜ÷Î}÷Þç.3úǽ?þÀü.v*òø`Ö!*¬Î¢ .¶buf¹¸T¸,.+*WñBM0#hÄ'ëñ".©øT=^ÂËa¼¢âÕ·}:|FÅktÂã³âþ¹0^÷7ÅçÅÎ/Ôã¸$_ _Vñ0¾A¾V¯ãMaó
+qù¦¸¼©â[
+ͼ1s
#+3¶É¥©¼ /ëE;ÒóÃ
+êf2én-CÁÉê§#Î2«çÒÀð¤i¥ÒÊÙÌÀºU0RãæÒKMfrÆ)yâð(òQ0r¶£*T>cØ4y¤Zãq ²%sÙH˶¥Yéâñ©hªÀÌô¾Mª-°C#\ÆUЯ08a~.k÷Î*)CxÏð¦Kçë)ñLAtÒ\г³ºkWYçpÎ#AÍ
+´¼äÌ FA|»ÒWÓݳwó/ë½)xØÖàÓV5KÔ¶x± :Ô|)ÜÃö#÷wOP¿cÆÖcI(ßVñÃ^yØ¢ÈUØ6K¥Þïõ¤ÿbÑ´±\jÂÌú½Óîµ3TpUG(í|ÑVÐQ³áH1M 7S8±
+´RÎ|{
çY#Û¶õô·nQ/ª¬5^kÑKou·O;=F¸m,·RÚÙ¯h¤q35$ßbwcÖLOËF¶ÜmÞÆ
+¶¼ßûLïÐÏn"ªÝöûª9mØG7Mh©z*gJwr vè©DÕ³EcúY®ÁeçyíK?ëa{ÿòÿ?ÂÕqZ:¯«fy Ó×ÈY´cÑöm5ðû
Óã
+ Ý é¸^XdkèÇþùÞá6Y¾"Öð|PÃ[x[Ãwñ=
+ßÇÄîç1sµ=>4ü?Rñc¶ÂfÖUüDÃOñ3Ýñ8ë*$cÕ/GWýº*ÀSç.°5Â~U¾n¶
+|É_à=¦0aç4ü
+WU\Ó0³~ßp´WLöHZϼ:zyÁpyØéøëé*ôÄr¦Kç}j¿Ècü븪áÑð®Ö[û£v.2}RiÆc9SV´UõPÉPIÎir+÷°©9¹¨ã´°gËS§¹
+Óù´ØQ¥¨Z³yÛãµàµOBçMkI'Æ GÃ>ýÞ ï=7r©W=¶~©ÌgDô1[¼f(O:º½6y
ÙP=ð¸³J8Je³ÒÇÃü2mçs QÑëP0Àïã-^^äúЦ5[¼¼þêy?AÊC2?TjÞHܸßümøo"@1H1tê¦XG1rõ}kÐL%×°CÁ¤Ð à¯h¾&Ú4úo!º;®]LHÒ°e(ø=¡ÀZý[]ÿ×êú;7dÃò?Æk'Wü¾o£ÔÎÏñùAþØ
ì=xá5Äð:IáCüa£b!ZÀcx(DÃÌp1' )Å1ÒóaÊïæ8¥÷!°NÎü**&TþïÀ=t«hTÑÄÕÐý_éP;É='¼XáÙ/ÚúÚçý F«ÞÆÎùë¥bX@Çu #Bw¶vÉp§ú\}bÈ9¹Ã»¼x?}düÁ©À¨¡àTò}HH.ßÁÝo!îº
ÝsÉèyëV¬ü£«ëOÞÂC×ËIØ/ë¥a$¡qÖaxA1c¬¾ã¤x)R_J@{ñ& (ü+}?Avö3xþG¸ûf«97ðßCTE§Bºï"¦¢å]t¸F×.ã'¨ññÞè»
Ø t<ìõ2¯i Êâ1éi³¡ì_3ã%§ß6ì
+;AØ÷ýq÷6ïA-ÁöV4Rg©Z¦l G® ¸¶ºþoÿµrNÚ$«gسdyE:ú+ÉN:$ôËÌèųøxU¡Í'\5øïB%Ç»6
+Zç3¾]^á¢kéô>lJþ
+;ï k>ÚeÞ'*ù6zþEäGe¤)ö¤Aù<],;[í¢ÃS;\ô¬Oºr=l8>Y Ãßä^ÚÜ9ÙÎ ºðNL¯çvczÂÍ&@SܹÒg\¬H«VvWc£ò.¸97{ªXÅã°GôoøÛ )ãªÈ¶,ÏI8åsöÈQ¦HI0$AbïsÖ9û{ö`_ið«*^QUt¥
+ Õ
+¢¹èóñûÏå9%ö<'ìtçE¾B^âKãårÖvs?êØ`ÙÑAé^EAEXP QP
+dȹÿPK
+ A yßtÚ E , org/gradle/cli/ParsedCommandLineOption.classS]OÔ@=ݯîGeùPaeQª¨ø"hHV1YÁ·awR»í¦íá§ðlâ¨IÔgñN[`Y$ñ¡ÓÛ{Ï=çÜéï?ß Â4²(ªH#b
+¸¦åÉ$ô4¸Á-L%q[¾ï¨¸+ßÓr¹§â¾
+[ÌlpWA¶´É¶Þð©ëÍ(H
a1¯áp#-g³É,C/{°9*IÌ
+Kxs
+¢
ñU±E»JÅ%añÚ:w^³u"¹]aæ*s<Á·!I¡d;n8¬jr½b
+ýs\^]´k5fU%ÔJݶEí÷V¥ Ý
ñ³´=Vy÷Õé£
+j;*i=z&xÔ«V£Q㧠§p6K:dÇ)¹ñKn07T@½U.Û
+§Â ÉvàéICzt°]p¶-)kèDNÃ(Æt]6Mn0,ñøÒû
+÷±(# ÍWmîæ-ÛËo°-gÖvÞ¿²Ñ°f0« ?L'æùZÃôDÝäA¦K©@Ó϶*Õðó$¡Ñÿï)õM^!ÛOî+vïi¥áÊQ,7_
¬ÒÀZ~¾«Â]ªÕ½m\¡(K?
+LºHï.:EÐ8íÉrZ/PdQÚÙâ>â!"kû~Eì³}Vù_*bTÓG;-ÈÇ%ôûø¸bíXÓÅoï¢íµºäÏâÄ"¡Âpú(=@&_Ðö¨2êwì% ^*õè$üAêPÀPS÷é°û =1D:¥!ä©ä¡ÓIfÅ%þÞ±n05W(v¾bRD
+×$ÈÄÚ"xÓjÊ2D¬Ï§ìçxr7k>
+º½!âóV.p£]Á.ÔØG²àÓ±ôãDÇ\Ô8"Ùy RðÿPK
+ A \vÆB| : org/gradle/cli/ProjectPropertiesCommandLineConverter.classKOÂ@
ÏD|?PâìÀuã#Q+¢$÷C;1m ÿJW&.üþ(ãª1ØDã,îé9ßôv¦oï/¯ ö±[@ylæ±G)ívÙ
}FHWkwLSº°Ü!¿]®nY×7ÎZK:Ì¿cJDóØÌèZRy¶§ësÛñ
ÝVò;ÚH+-ø )
n´kS#cruLXõøgh|Ó×BjõÀFÌöYèÙDèèÎè%×LøÜ%Öñ
*_¨å½?õÖ:("<ÚbJÕö ®Øtòfë^*K÷¸Õ
ßµ¦
XUÞðV½£Üi01Èk
ÂÁp8wZ±ß8T0gî?Pôa¦ÎmÎí=ÌC
-S³s¦§£| Ë1\áôZêq-}CÓ_èJEËèjE+ ¨ùw'©õPK A ;| ü 9 org/gradle/cli/SystemPropertiesCommandLineConverter.classËJÃ@ÏØ«mµ¶ÖjÕEÜ5BDÄ
R/Pé~Ó$&ÓBÞJWÀ'i©AÄY3óÏÿ͹¼¼¾Àl "l¡YÍl E Ê<&Ï dÚú@¶ËÇH ÚgÞLÝ{:rRïs:C*X4NĬ°ÀQÛ´;hZ3a ѽÜG!]îºÔGv¹7S"5eb
+S³s¦§£| Ë1\áôZêq-}CÓ_èJEËèjE+ ¨ùw'©õPK
+ A
+Ï8=| ü 9 org/gradle/cli/SystemPropertiesCommandLineConverter.classËJÃ@ÏØ«mµ¶ÖjÕEÜ5BPÄ
R/Pé~Ó$&ÓBÞJWÀ'i©AÄY3óÏÿ͹¼¼¾Àl "l¡YÍl E Ê<&Ï dÚú@¶ËÇH ÚgÞLÝ{:rRïs:C*X4NĬ°ÀQÛ´;hZ3a ѽÜG!]îºÔGv¹7S"5eb
o}ɸG ÑÖûtFMz¶9y¶²¶~X{()spL`7e.°KV,
øTXxÉ¢õ¿fDT E¤G ÄPÇWãJm®h~²Æ49AíjxµÑ°
ÓsÃhöÌ
gÔ¢n8üÇ5©Û] .FÔ¿s°9õàQË΢â²*sû/@Ug J*æc±e+sÊ+1¾
Õî$p¦¾ô´6¿¡/t-Í,¢;©h-Í.¢Z
-ª>kìZÿPK A ÿÃW gradle-cli-classpath.properties+(ÊÏJM.)¶å**Í+ÉÌMµ PK A build-receipt.properties+K-*ÎÌÏó+ÍMJ-²5Ñ3 PKé>ó PK A META-INF/PK A (MÆø? T ) META-INF/MANIFEST.MFPK A org/PK A ¾ org/gradle/PK A é org/gradle/wrapper/PK A ïzZï Õ - org/gradle/wrapper/BootstrapMainStarter.classPK A hdf£ Õ # V org/gradle/wrapper/Download$1.classPK A Êo:s @ 4 : org/gradle/wrapper/Download$ProxyAuthenticator.classPK A ñÎ & ! org/gradle/wrapper/Download.classPK A ÔN/Ý¡ Ê 1 é org/gradle/wrapper/DownloadProgressListener.classPK A ~0^ å 3 Ù org/gradle/wrapper/ExclusiveFileAccessManager.classPK A ©zÝ\ Q - org/gradle/wrapper/GradleUserHomeLookup.classPK A ë¬j¦
- 4 * /" org/gradle/wrapper/GradleWrapperMain.classPK A çìXsª Û " - org/gradle/wrapper/IDownload.classPK A «øÔ 6 " . org/gradle/wrapper/Install$1.classPK A ¹@$ ö) 5 org/gradle/wrapper/Install.classPK A ¥y0ºV }H org/gradle/wrapper/Logger.classPK A j j´ V 8 K org/gradle/wrapper/PathAssembler$LocalDistribution.classPK A bøi+è & M org/gradle/wrapper/PathAssembler.classPK A dzÌß = 0 FT org/gradle/wrapper/SystemPropertiesHandler.classPK A Ì
-^F ù - &Y org/gradle/wrapper/WrapperConfiguration.classPK A ÚþÇ ( \ org/gradle/wrapper/WrapperExecutor.classPK A ã
Ð_ # e gradle-wrapper-classpath.propertiesPK A ne org/gradle/cli/PK A Èô< S 1 e org/gradle/cli/AbstractCommandLineConverter.classPK A áyÆ0L ç
- ; (h org/gradle/cli/AbstractPropertiesCommandLineConverter.classPK A è#
-òG K 1 Íl org/gradle/cli/CommandLineArgumentException.classPK A 'H g ) cn org/gradle/cli/CommandLineConverter.classPK A ´íÓà 7 & Ão org/gradle/cli/CommandLineOption.classPK A 2_e¦ è ( Êu org/gradle/cli/CommandLineParser$1.classPK A Ø:Ü< Ê ; ¶v org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classPK A xûëÚ¤ ) 3 Kz org/gradle/cli/CommandLineParser$AfterOptions.classPK A S¦6éê | < @} org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classPK A ¿¶ ª= Ö F org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.classPK A o\9¿ß ° = % org/gradle/cli/CommandLineParser$KnownOptionParserState.classPK A 9Ká÷¤ ÷ < _ org/gradle/cli/CommandLineParser$MissingOptionArgState.classPK A ú© ª = ] org/gradle/cli/CommandLineParser$OptionAwareParserState.classPK A ÔÆJÁ 7 Q org/gradle/cli/CommandLineParser$OptionComparator.classPK A #t´§ ¦ 8 g org/gradle/cli/CommandLineParser$OptionParserState.classPK A
-tB 3 d org/gradle/cli/CommandLineParser$OptionString.classPK A ¹G;~ U = I org/gradle/cli/CommandLineParser$OptionStringComparator.classPK A YMû » 2 " org/gradle/cli/CommandLineParser$ParserState.classPK A ]4Ýá n ? y org/gradle/cli/CommandLineParser$UnknownOptionParserState.classPK A ¼\oY ¯( & ·¡ org/gradle/cli/CommandLineParser.classPK A [xn Ç & ³ org/gradle/cli/ParsedCommandLine.classPK A ¼¼ , m» org/gradle/cli/ParsedCommandLineOption.classPK A A5l| : s¾ org/gradle/cli/ProjectPropertiesCommandLineConverter.classPK A ;| ü 9 GÀ org/gradle/cli/SystemPropertiesCommandLineConverter.classPK A ÿÃW  gradle-cli-classpath.propertiesPK A é>ó k build-receipt.propertiesPK 2 2 _ ÄÂ
\ No newline at end of file
+ª>kìZÿPK
+ A íA META-INF/PK
+ A m±>=@ ? ¤) META-INF/MANIFEST.MFPK
+ A íA org/PK
+ A íA¿ org/gradle/PK
+ A íAê org/gradle/wrapper/PK
+ A %Ó¦¹ / ¤ org/gradle/wrapper/BootstrapMainStarter$1.classPK
+ A i,« $
+ - ¤# org/gradle/wrapper/BootstrapMainStarter.classPK
+ A hQþ}¢ Ò # ¤ org/gradle/wrapper/Download$1.classPK
+ A y´[À4 Ø A ¤p org/gradle/wrapper/Download$DefaultDownloadProgressListener.classPK
+ A Û¡ ~ 4 ¤ org/gradle/wrapper/Download$ProxyAuthenticator.classPK
+ A pOÌ) ¨& ! ¤ö org/gradle/wrapper/Download.classPK
+ A yL¢¡ Ê 1 ¤^$ org/gradle/wrapper/DownloadProgressListener.classPK
+ A !9|¶ 3 ¤N% org/gradle/wrapper/ExclusiveFileAccessManager.classPK
+ A ì,y - ¤U, org/gradle/wrapper/GradleUserHomeLookup.classPK
+ A Prº« - * ¤/ org/gradle/wrapper/GradleWrapperMain.classPK
+ A úâæª Û " ¤9 org/gradle/wrapper/IDownload.classPK
+ A 9lâV " ¤ö9 org/gradle/wrapper/Install$1.classPK
+ A gh| - ¤B org/gradle/wrapper/Install$InstallCheck.classPK
+ A ^,ã¡ C- ¤SE org/gradle/wrapper/Install.classPK
+ A ð¿:öo 4 ¤2Z org/gradle/wrapper/Logger.classPK
+ A é` ï 8 ¤Þ\ org/gradle/wrapper/PathAssembler$LocalDistribution.classPK
+ A á¶; + & ¤Â^ org/gradle/wrapper/PathAssembler.classPK
+ A Íë | 0 ¤
+f org/gradle/wrapper/SystemPropertiesHandler.classPK
+ A ª=©° ? - ¤k org/gradle/wrapper/WrapperConfiguration.classPK
+ A Gü¨ ( ¤n org/gradle/wrapper/WrapperExecutor.classPK
+ A Ôe # ¤pw gradle-wrapper-classpath.propertiesPK
+ A ) ¤Ðw gradle-wrapper-parameter-names.propertiesPK
+ A íAx org/gradle/cli/PK
+ A ÕÜ?®< S 1 ¤Hx org/gradle/cli/AbstractCommandLineConverter.classPK
+ A ×µ³X ì
+ ; ¤Óz org/gradle/cli/AbstractPropertiesCommandLineConverter.classPK
+ A }ÎyG K 1 ¤ org/gradle/cli/CommandLineArgumentException.classPK
+ A ³ßâú g ) ¤ org/gradle/cli/CommandLineConverter.classPK
+ A Sf
+Õ g & ¤z org/gradle/cli/CommandLineOption.classPK
+ A üí¯¥ å ( ¤À org/gradle/cli/CommandLineParser$1.classPK
+ A $f{K ¿ ; ¤« org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classPK
+ A ¥D£¢ & 3 ¤O org/gradle/cli/CommandLineParser$AfterOptions.classPK
+ A Mü u < ¤B org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classPK
+ A ´*«ZM ï F ¤ org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.classPK
+ A |ìRÎÐ & = ¤I org/gradle/cli/CommandLineParser$KnownOptionParserState.classPK
+ A $ľ¢¥ ô < ¤t org/gradle/cli/CommandLineParser$MissingOptionArgState.classPK
+ A TK>ª Ä = ¤s¡ org/gradle/cli/CommandLineParser$OptionAwareParserState.classPK
+ A %àÌ» ª 7 ¤x¤ org/gradle/cli/CommandLineParser$OptionComparator.classPK
+ A äfC§ £ 8 ¤§ org/gradle/cli/CommandLineParser$OptionParserState.classPK
+ A ¢Æ÷E« ¶ 3 ¤
© org/gradle/cli/CommandLineParser$OptionString.classPK
+ A gAq² x = ¤¬ org/gradle/cli/CommandLineParser$OptionStringComparator.classPK
+ A `M~U ¸ 2 ¤p¯ org/gradle/cli/CommandLineParser$ParserState.classPK
+ A pÍX
+Ý k ? ¤Ä± org/gradle/cli/CommandLineParser$UnknownOptionParserState.classPK
+ A £= l) & ¤þ´ org/gradle/cli/CommandLineParser.classPK
+ A å>É & ¤XÇ org/gradle/cli/ParsedCommandLine.classPK
+ A yßtÚ E , ¤eÏ org/gradle/cli/ParsedCommandLineOption.classPK
+ A \vÆB| : ¤Ò org/gradle/cli/ProjectPropertiesCommandLineConverter.classPK
+ A
+Ï8=| ü 9 ¤]Ô org/gradle/cli/SystemPropertiesCommandLineConverter.classPK 4 4 J 0Ö
\ No newline at end of file
Modified: trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties
===================================================================
--- trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.properties 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,6 +1,5 @@
-#Fri Oct 30 16:43:02 MST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
Modified: trunk/bindings/Android/SWORD/gradle.properties
===================================================================
--- trunk/bindings/Android/SWORD/gradle.properties 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/gradle.properties 2023-11-06 16:58:07 UTC (rev 3893)
@@ -16,5 +16,9 @@
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
-android.enableJetifier=true
+android.enableJetifier=false
+android.defaults.buildfeatures.buildconfig=true
+android.nonTransitiveRClass=true
+android.nonFinalResIds=false
+
Modified: trunk/bindings/Android/SWORD/gradlew
===================================================================
--- trunk/bindings/Android/SWORD/gradlew 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/gradlew 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,41 +1,99 @@
-#!/usr/bin/env sh
+#!/bin/sh
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
##############################################################################
-##
-## Gradle start up script for UN*X
-##
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
##############################################################################
# Attempt to set APP_HOME
+
# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+
APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
+APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
+MAX_FD=maximum
warn () {
echo "$*"
-}
+} >&2
die () {
echo
@@ -42,7 +100,7 @@
echo "$*"
echo
exit 1
-}
+} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
@@ -49,30 +107,23 @@
msys=false
darwin=false
nonstop=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
- NONSTOP* )
- nonstop=true
- ;;
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
+ JAVACMD=$JAVA_HOME/jre/sh/java
else
- JAVACMD="$JAVA_HOME/bin/java"
+ JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -81,7 +132,7 @@
location of your Java installation."
fi
else
- JAVACMD="java"
+ JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
@@ -89,84 +140,95 @@
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
fi
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
+
# Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
fi
- i=$((i+1))
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
fi
-# Escape application args
-save () {
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
- echo " "
-}
-APP_ARGS=$(save "$@")
+# Collect all arguments for the java command;
+# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
+# shell script including quotes and variable substitutions, so put them in
+# double quotes to make sure that they get re-expanded; and
+# * put everything else in single quotes, so that it's not re-expanded.
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
-fi
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
exec "$JAVACMD" "$@"
Modified: trunk/bindings/Android/SWORD/gradlew.bat
===================================================================
--- trunk/bindings/Android/SWORD/gradlew.bat 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/Android/SWORD/gradlew.bat 2023-11-06 16:58:07 UTC (rev 3893)
@@ -1,3 +1,19 @@
+ at rem
+ at rem Copyright 2015 the original author or authors.
+ at rem
+ at rem Licensed under the Apache License, Version 2.0 (the "License");
+ at rem you may not use this file except in compliance with the License.
+ at rem You may obtain a copy of the License at
+ at rem
+ at rem https://www.apache.org/licenses/LICENSE-2.0
+ at rem
+ at rem Unless required by applicable law or agreed to in writing, software
+ at rem distributed under the License is distributed on an "AS IS" BASIS,
+ at rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ at rem See the License for the specific language governing permissions and
+ at rem limitations under the License.
+ at rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -13,8 +29,11 @@
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
+ at rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@@ -21,7 +40,7 @@
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
+if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -35,7 +54,7 @@
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-if exist "%JAVA_EXE%" goto init
+if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@@ -45,28 +64,14 @@
goto fail
-:init
- at rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
- at rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
Modified: trunk/bindings/cordova/cordova-plugin-crosswire-sword/plugin.xml
===================================================================
--- trunk/bindings/cordova/cordova-plugin-crosswire-sword/plugin.xml 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/cordova/cordova-plugin-crosswire-sword/plugin.xml 2023-11-06 16:58:07 UTC (rev 3893)
@@ -56,6 +56,22 @@
<source-file src="libs/android/armeabi-v7a/libsword.so" target-dir="libs/armeabi-v7a" />
<source-file src="libs/android/x86/libsword.so" target-dir="libs/x86" />
<source-file src="libs/android/x86_64/libsword.so" target-dir="libs/x86_64" />
+ <source-file src="libs/android/arm64-v8a/libcrypto.so" target-dir="libs/arm64-v8a" />
+ <source-file src="libs/android/armeabi-v7a/libcrypto.so" target-dir="libs/armeabi-v7a" />
+ <source-file src="libs/android/x86/libcrypto.so" target-dir="libs/x86" />
+ <source-file src="libs/android/x86_64/libcrypto.so" target-dir="libs/x86_64" />
+ <source-file src="libs/android/arm64-v8a/libc++_shared.so" target-dir="libs/arm64-v8a" />
+ <source-file src="libs/android/armeabi-v7a/libc++_shared.so" target-dir="libs/armeabi-v7a" />
+ <source-file src="libs/android/x86/libc++_shared.so" target-dir="libs/x86" />
+ <source-file src="libs/android/x86_64/libc++_shared.so" target-dir="libs/x86_64" />
+ <source-file src="libs/android/arm64-v8a/libcurl.so" target-dir="libs/arm64-v8a" />
+ <source-file src="libs/android/armeabi-v7a/libcurl.so" target-dir="libs/armeabi-v7a" />
+ <source-file src="libs/android/x86/libcurl.so" target-dir="libs/x86" />
+ <source-file src="libs/android/x86_64/libcurl.so" target-dir="libs/x86_64" />
+ <source-file src="libs/android/arm64-v8a/libssl.so" target-dir="libs/arm64-v8a" />
+ <source-file src="libs/android/armeabi-v7a/libssl.so" target-dir="libs/armeabi-v7a" />
+ <source-file src="libs/android/x86/libssl.so" target-dir="libs/x86" />
+ <source-file src="libs/android/x86_64/libssl.so" target-dir="libs/x86_64" />
<!-- no longer needed with latest ndk
<source-file src="libs/android/arm64-v8a/libc++_shared.so" target-dir="libs/arm64-v8a" />
Modified: trunk/bindings/cordova/cordova-plugin-crosswire-sword/src/android/SWORD.java
===================================================================
--- trunk/bindings/cordova/cordova-plugin-crosswire-sword/src/android/SWORD.java 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/cordova/cordova-plugin-crosswire-sword/src/android/SWORD.java 2023-11-06 16:58:07 UTC (rev 3893)
@@ -159,7 +159,7 @@
m.put("shortCopyright", mod.getConfigEntry("ShortCopyright"));
m.put("shortPromo", mod.getConfigEntry("ShortPromo"));
m.put("cipherKey", mod.getConfigEntry("CipherKey"));
-Log.d(TAG, "SWModule_getRemoteModuleByName("+args.getString(0)+", " + args.getString(1) + " returned successfully.");
+//Log.d(TAG, "SWModule_getRemoteModuleByName("+args.getString(0)+", " + args.getString(1) + " returned successfully.");
callbackContext.success(m);
}
else if (action.equals("InstallMgr_remoteInstallModule")) {
@@ -585,7 +585,7 @@
final String url = args.getString(0);
final String postData = args.getString(1);
final int method = args.getInt(2);
-Log.d(TAG, "about to spawn thread makeRequest(url: " + url + ", postData: " + postData + ", method: " + method);
+//Log.d(TAG, "about to spawn thread makeRequest(url: " + url + ", postData: " + postData + ", method: " + method);
cordova.getThreadPool().execute(new Runnable() {
private CallbackContext makeRequestContext = callbackContext;
@@ -592,13 +592,13 @@
@Override
public void run() {
String response = makeRequest(url, postData, method, null);
-Log.d(TAG, "received response from makeRequest with .length(): " + (response != null ? response.length() : "null"));
+//Log.d(TAG, "received response from makeRequest with .length(): " + (response != null ? response.length() : "null"));
PluginResult result = new PluginResult(PluginResult.Status.OK, response);
-Log.d(TAG, "added response to result object");
+//Log.d(TAG, "added response to result object");
result.setKeepCallback(false);
-Log.d(TAG, "setting result object keepCallback to false and calling sendPluginResult");
+//Log.d(TAG, "setting result object keepCallback to false and calling sendPluginResult");
makeRequestContext.sendPluginResult(result);
-Log.d(TAG, "finished calling sendPluginResult");
+//Log.d(TAG, "finished calling sendPluginResult");
}
});
@@ -637,13 +637,13 @@
String currentKey[] = masterMod.getKeyChildren();
-Log.d(TAG, "getRenderChapter: checking currentKey");
+//Log.d(TAG, "getRenderChapter: checking currentKey");
// assert we have a valid location
if (currentKey.length <= SWModule.VERSEKEY_BOOKABBREV || currentKey.length <= SWModule.VERSEKEY_CHAPTER) return r;
-Log.d(TAG, "getRenderChapter: currentKey valid.");
+//Log.d(TAG, "getRenderChapter: currentKey valid.");
masterMod.setKeyText(currentKey[SWModule.VERSEKEY_BOOKABBREV]+"."+currentKey[SWModule.VERSEKEY_CHAPTER]+".1");
-Log.d(TAG, "getRenderChapter: masterMod.setKeyText returned.");
+//Log.d(TAG, "getRenderChapter: masterMod.setKeyText returned.");
String [] verseKey = masterMod.getKeyChildren();
while (
@@ -650,7 +650,7 @@
masterMod.error() == 0
&& currentKey[SWModule.VERSEKEY_BOOK].equals(verseKey[SWModule.VERSEKEY_BOOK])
&& currentKey[SWModule.VERSEKEY_CHAPTER].equals(verseKey[SWModule.VERSEKEY_CHAPTER])) {
-Log.d(TAG, "looping chapter: " + verseKey[SWModule.VERSEKEY_OSISREF]);
+//Log.d(TAG, "looping chapter: " + verseKey[SWModule.VERSEKEY_OSISREF]);
mod.setKeyText(verseKey[SWModule.VERSEKEY_OSISREF]);
char error = mod.error();
@@ -675,7 +675,7 @@
masterMod.next();
verseKey = masterMod.getKeyChildren();
}
-Log.d(TAG, "Done looping chapter");
+//Log.d(TAG, "Done looping chapter");
masterMod.setKeyText(saveMasterKey);
mod.setKeyText(saveKey);
@@ -710,14 +710,14 @@
defaultHeaders.put("Accept", "*/*");
// defaultHeaders.put("Content-Type", "application/xml");
defaultHeaders.put("Content-Type", "application/x-www-form-urlencoded");
-Log.d(TAG, "about to add postData length to header");
+//Log.d(TAG, "about to add postData length to header");
if (method != METHOD_GET && postData != null) defaultHeaders.put("Content-Length", Integer.toString(postData.length()));
-Log.d(TAG, "finished adding postData length to header");
+//Log.d(TAG, "finished adding postData length to header");
try {
-Log.d(TAG, "adding any given headers");
+//Log.d(TAG, "adding any given headers");
if (headers != null) defaultHeaders.putAll(headers);
-Log.d(TAG, "done adding any given headers");
+//Log.d(TAG, "done adding any given headers");
if (method == METHOD_GET && postData != null && postData.length() > 0) {
// some sanity checks for appending GET params to URL
@@ -727,16 +727,16 @@
url += postData;
}
-Log.d(TAG, "opening connection");
+//Log.d(TAG, "opening connection");
connection = (HttpURLConnection) new URL(url).openConnection();
-Log.d(TAG, "setting request method");
+//Log.d(TAG, "setting request method");
connection.setRequestMethod(METHODS_TEXT[method]);
-Log.d(TAG, "setting request properties");
+//Log.d(TAG, "setting request properties");
for (String k : defaultHeaders.keySet()) {
connection.setRequestProperty(k, defaultHeaders.get(k));
}
if (method == METHOD_POST) {
-Log.d(TAG, "sending post data");
+//Log.d(TAG, "sending post data");
connection.setDoOutput(true);
if (postData != null) {
DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
@@ -745,10 +745,10 @@
dos.close();
}
}
-Log.d(TAG, "getting response code");
+//Log.d(TAG, "getting response code");
int responseCode = connection.getResponseCode();
Log.d(TAG, "response code: " + responseCode);
-Log.d(TAG, "getting response");
+//Log.d(TAG, "getting response");
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
@@ -764,7 +764,7 @@
return response.toString();
}
catch (Exception e) {
-Log.d(TAG, "an exception occurred in makeRequest thread: " + e);
+Log.i(TAG, "an exception occurred in makeRequest thread: " + e);
e.printStackTrace();
}
return null;
Modified: trunk/bindings/java-jni/jni/swordstub.cpp
===================================================================
--- trunk/bindings/java-jni/jni/swordstub.cpp 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/java-jni/jni/swordstub.cpp 2023-11-06 16:58:07 UTC (rev 3893)
@@ -59,161 +59,170 @@
using namespace sword;
namespace {
-bool firstInit = true;
-bool firstInstallInit = true;
-JavaVM *javaVM = nullptr;
-WebMgr *mgr = nullptr;
-InstallMgr *installMgr = nullptr;
+ bool firstInit = true;
+ bool firstInstallInit = true;
+ JavaVM *javaVM = nullptr;
+ WebMgr *mgr = nullptr;
+ InstallMgr *installMgr = nullptr;
#ifdef BIBLESYNC
-BibleSync *bibleSync = nullptr;
-using std::string;
-jobject bibleSyncListener = nullptr;
-JNIEnv *bibleSyncListenerEnv = nullptr;
+ BibleSync *bibleSync = nullptr;
+ using std::string;
+ jobject bibleSyncListener = nullptr;
+ JNIEnv *bibleSyncListenerEnv = nullptr;
#endif
-SWBuf STORAGE_BASE;
-const char *OLD_SDCARD_PATH = "/sdcard/sword";
-const char *SDCARD_PATH = "/sdcard/Documents/sword";
-const char *AND_BIBLE_MODULES_PATH = "/sdcard/Android/data/net.bible.android.activity/files";
+ SWBuf STORAGE_BASE;
+ const char *OLD_SDCARD_PATH = "/sdcard/sword";
+ const char *SDCARD_PATH = "/sdcard/Documents/sword";
+ const char *AND_BIBLE_MODULES_PATH = "/sdcard/Android/data/net.bible.android.activity/files";
//ANativeActivity *_activity;
-typedef map<SWBuf, SWBuf> SearchFilterValuesType;
-SearchFilterValuesType searchFilterValues;
+ typedef map<SWBuf, SWBuf> SearchFilterValuesType;
+ SearchFilterValuesType searchFilterValues;
// this method converts a UTF8 encoded SWBuf to a Java String, avoiding a bug in jni NewStringUTF
-jstring strToUTF8Java(JNIEnv *env, const SWBuf &str) {
- const SWBuf safeStr = assureValidUTF8(str.c_str());
- jbyteArray array = env->NewByteArray(safeStr.size());
- env->SetByteArrayRegion(array, 0, safeStr.size(), (const jbyte *)safeStr.c_str());
- jstring strEncode = env->NewStringUTF("UTF-8");
- jclass cls = env->FindClass("java/lang/String");
- jmethodID ctor = env->GetMethodID(cls, "<init>", "([BLjava/lang/String;)V");
- jstring object = (jstring) env->NewObject(cls, ctor, array, strEncode);
+ jstring strToUTF8Java(JNIEnv *env, const SWBuf &str) {
+ const SWBuf safeStr = assureValidUTF8(str.c_str());
+ jbyteArray array = env->NewByteArray(safeStr.size());
+ env->SetByteArrayRegion(array, 0, safeStr.size(), (const jbyte *) safeStr.c_str());
+ jstring strEncode = env->NewStringUTF("UTF-8");
+ jclass cls = env->FindClass("java/lang/String");
+ jmethodID ctor = env->GetMethodID(cls, "<init>", "([BLjava/lang/String;)V");
+ jstring object = (jstring) env->NewObject(cls, ctor, array, strEncode);
- env->DeleteLocalRef(strEncode);
- env->DeleteLocalRef(array);
- env->DeleteLocalRef(cls);
+ env->DeleteLocalRef(strEncode);
+ env->DeleteLocalRef(array);
+ env->DeleteLocalRef(cls);
- return object;
-}
+ return object;
+ }
-class InstallStatusReporter : public StatusReporter {
-public:
- JNIEnv *env;
- jobject callback;
- unsigned long last;
+ class InstallStatusReporter : public StatusReporter {
+ public:
+ JNIEnv *env;
+ jobject callback;
+ unsigned long last;
- InstallStatusReporter() : env(nullptr), callback(nullptr), last(0) {
- }
+ InstallStatusReporter() : env(nullptr), callback(nullptr), last(0) {
+ }
- void init(JNIEnv *env, jobject callback) {
- this->env = env;
- this->callback = callback;
- last = 0xffffffff;
- }
+ void init(JNIEnv *env, jobject callback) {
+ this->env = env;
+ this->callback = callback;
+ last = 0xffffffff;
+ }
- void update(unsigned long totalBytes, unsigned long completedBytes) override {
+ void update(unsigned long totalBytes, unsigned long completedBytes) override {
- // assert we have a callback
- if (!callback) return;
+ // assert we have a callback
+ if (!callback) return;
- if (completedBytes != last) {
- last = completedBytes;
- jclass cls = env->GetObjectClass(callback);
- jmethodID mid = env->GetMethodID(cls, "update", "(JJ)V");
- if (mid) {
- env->CallVoidMethod(callback, mid, (jlong)totalBytes, (jlong)completedBytes);
- }
- env->DeleteLocalRef(cls);
- }
- }
+ if (completedBytes != last) {
+ last = completedBytes;
+ jclass cls = env->GetObjectClass(callback);
+ jmethodID mid = env->GetMethodID(cls, "update", "(JJ)V");
+ if (mid) {
+ env->CallVoidMethod(callback, mid, (jlong) totalBytes, (jlong) completedBytes);
+ }
+ env->DeleteLocalRef(cls);
+ }
+ }
- void preStatus(long totalBytes, long completedBytes, const char *message) override {
+ void preStatus(long totalBytes, long completedBytes, const char *message) override {
- // assert we have a callback
- if (!callback) return;
+ // assert we have a callback
+ if (!callback) return;
- jclass cls = env->GetObjectClass(callback);
- jmethodID mid = env->GetMethodID(cls, "preStatus", "(JJLjava/lang/String;)V");
- if (mid != nullptr) {
- jstring msg = strToUTF8Java(env, message);
- env->CallVoidMethod(callback, mid, (jlong)totalBytes, (jlong)completedBytes, msg);
- env->DeleteLocalRef(msg);
- }
- env->DeleteLocalRef(cls);
- }
-} *installStatusReporter = nullptr;
-bool disclaimerConfirmed = false;
+ jclass cls = env->GetObjectClass(callback);
+ jmethodID mid = env->GetMethodID(cls, "preStatus", "(JJLjava/lang/String;)V");
+ if (mid != nullptr) {
+ jstring msg = strToUTF8Java(env, message);
+ env->CallVoidMethod(callback, mid, (jlong) totalBytes, (jlong) completedBytes, msg);
+ env->DeleteLocalRef(msg);
+ }
+ env->DeleteLocalRef(cls);
+ }
+ } *installStatusReporter = nullptr;
-class AndroidLogger : public SWLog {
- vector<int> levelMapping;
-public:
- AndroidLogger() {
- levelMapping.resize(10, 0);
- levelMapping[SWLog::LOG_ERROR] = ANDROID_LOG_ERROR;
- levelMapping[SWLog::LOG_WARN] = ANDROID_LOG_WARN;
- levelMapping[SWLog::LOG_INFO] = ANDROID_LOG_INFO;
- levelMapping[SWLog::LOG_TIMEDINFO] = ANDROID_LOG_INFO;
- levelMapping[SWLog::LOG_DEBUG] = ANDROID_LOG_DEBUG;
- }
- void logMessage(const char *message, int level) const override {
- SWBuf msg = message;
- if (msg.size() > 512) msg.setSize(512);
- __android_log_write(levelMapping[level], "libsword.so", msg.c_str());
- }
-};
+ bool disclaimerConfirmed = false;
-class AndroidStringMgr : public StringMgr {
-public:
- char *upperUTF8(char *buf, unsigned int maxLen = 0) const override {
- if (!maxLen) maxLen = strlen(buf)+1;
- JNIEnv *myThreadsEnv = nullptr;
+ class AndroidLogger : public SWLog {
+ vector<int> levelMapping;
+ public:
+ AndroidLogger() {
+ levelMapping.resize(10, 0);
+ levelMapping[SWLog::LOG_ERROR] = ANDROID_LOG_ERROR;
+ levelMapping[SWLog::LOG_WARN] = ANDROID_LOG_WARN;
+ levelMapping[SWLog::LOG_INFO] = ANDROID_LOG_INFO;
+ levelMapping[SWLog::LOG_TIMEDINFO] = ANDROID_LOG_INFO;
+ levelMapping[SWLog::LOG_DEBUG] = ANDROID_LOG_DEBUG;
+ }
- // double check it's all ok
- int getEnvStat = javaVM->GetEnv((void**)&myThreadsEnv, JNI_VERSION_1_6);
- // should never happen
- if (getEnvStat == JNI_EDETACHED) {
- std::cout << "GetEnv: not attached" << std::endl;
- if (javaVM->AttachCurrentThread(&myThreadsEnv, nullptr) != 0) {
- std::cout << "Failed to attach" << std::endl;
- }
- }
+ void logMessage(const char *message, int level) const override {
+ SWBuf msg = message;
+ if (msg.size() > 512) msg.setSize(512);
+ __android_log_write(levelMapping[level], "libsword.so", msg.c_str());
+ }
+ };
- if (myThreadsEnv) {
- const SWBuf validBuf = assureValidUTF8(buf);
- unsigned long bufLen = validBuf.size();
- jbyteArray array = myThreadsEnv->NewByteArray(bufLen);
- myThreadsEnv->SetByteArrayRegion(array, 0, bufLen, (const jbyte *)validBuf.c_str());
- jstring strEncode = myThreadsEnv->NewStringUTF("UTF-8");
- jclass cls = myThreadsEnv->FindClass("java/lang/String");
- jmethodID ctor = myThreadsEnv->GetMethodID(cls, "<init>", "([BLjava/lang/String;)V");
- jstring object = (jstring) myThreadsEnv->NewObject(cls, ctor, array, strEncode);
- jmethodID toUpperCase = myThreadsEnv->GetMethodID(cls, "toUpperCase", "()Ljava/lang/String;");
- jstring objectUpper = (jstring)myThreadsEnv->CallObjectMethod(object, toUpperCase);
+ class AndroidStringMgr : public StringMgr {
+ public:
+ char *upperUTF8(char *buf, unsigned int maxLen = 0) const override {
+ if (!maxLen) maxLen = strlen(buf) + 1;
+ JNIEnv *myThreadsEnv = nullptr;
- const char *ret = (objectUpper?myThreadsEnv->GetStringUTFChars(objectUpper, nullptr):nullptr);
- if (ret) {
- unsigned long retLen = strlen(ret);
- if (retLen >= maxLen) retLen = maxLen-1;
- memcpy(buf, ret, retLen);
- buf[retLen] = 0;
+ // double check it's all ok
+ int getEnvStat = javaVM->GetEnv((void **) &myThreadsEnv, JNI_VERSION_1_6);
+ // should never happen
+ if (getEnvStat == JNI_EDETACHED) {
+ std::cout << "GetEnv: not attached" << std::endl;
+ if (javaVM->AttachCurrentThread(&myThreadsEnv, nullptr) != 0) {
+ std::cout << "Failed to attach" << std::endl;
+ }
+ }
- myThreadsEnv->ReleaseStringUTFChars(objectUpper, ret);
- }
+ if (myThreadsEnv) {
+ const SWBuf validBuf = assureValidUTF8(buf);
+ unsigned long bufLen = validBuf.size();
+ jbyteArray array = myThreadsEnv->NewByteArray(bufLen);
+ myThreadsEnv->SetByteArrayRegion(array, 0, bufLen,
+ (const jbyte *) validBuf.c_str());
+ jstring strEncode = myThreadsEnv->NewStringUTF("UTF-8");
+ jclass cls = myThreadsEnv->FindClass("java/lang/String");
+ jmethodID ctor = myThreadsEnv->GetMethodID(cls, "<init>",
+ "([BLjava/lang/String;)V");
+ jstring object = (jstring) myThreadsEnv->NewObject(cls, ctor, array, strEncode);
+ jmethodID toUpperCase = myThreadsEnv->GetMethodID(cls, "toUpperCase",
+ "()Ljava/lang/String;");
+ jstring objectUpper = (jstring) myThreadsEnv->CallObjectMethod(object, toUpperCase);
- myThreadsEnv->DeleteLocalRef(strEncode);
- myThreadsEnv->DeleteLocalRef(array);
- myThreadsEnv->DeleteLocalRef(cls);
- myThreadsEnv->DeleteLocalRef(objectUpper);
- myThreadsEnv->DeleteLocalRef(object);
- }
+ const char *ret = (objectUpper ? myThreadsEnv->GetStringUTFChars(objectUpper,
+ nullptr)
+ : nullptr);
+ if (ret) {
+ unsigned long retLen = strlen(ret);
+ if (retLen >= maxLen) retLen = maxLen - 1;
+ memcpy(buf, ret, retLen);
+ buf[retLen] = 0;
+
+ myThreadsEnv->ReleaseStringUTFChars(objectUpper, ret);
+ }
+
+ myThreadsEnv->DeleteLocalRef(strEncode);
+ myThreadsEnv->DeleteLocalRef(array);
+ myThreadsEnv->DeleteLocalRef(cls);
+ myThreadsEnv->DeleteLocalRef(objectUpper);
+ myThreadsEnv->DeleteLocalRef(object);
+ }
// javaVM->DetachCurrentThread();
- return buf;
- }
-protected:
- bool supportsUnicode() const override { return true; }
-};
+ return buf;
+ }
+ protected:
+ bool supportsUnicode() const override { return true; }
+ };
+
+}
static void init(JNIEnv *env) {
if (firstInit) {
@@ -228,16 +237,16 @@
StringMgr::setSystemStringMgr(new AndroidStringMgr());
}
if (!mgr) {
-SWLOGD("libsword: init() begin");
+SWLOGI("libsword: init() begin");
SWBuf baseDir = SDCARD_PATH;
SWBuf confPath = baseDir + "/mods.d/globals.conf";
// be sure we have at least some config file already out there
if (!FileMgr::existsFile(confPath.c_str()) && firstInit) {
-SWLOGD("libsword: init() sword config not found, attempting to create parent of: %s", confPath.c_str());
+SWLOGI("libsword: init() sword config not found, attempting to create parent of: %s", confPath.c_str());
FileMgr::createParent(confPath.c_str());
remove(confPath.c_str());
-SWLOGD("libsword: init() saving basic: %s", confPath.c_str());
+SWLOGI("libsword: init() saving basic: %s", confPath.c_str());
SWConfig config(confPath.c_str());
config["Globals"]["HiAndroid"] = "weeee";
config.save();
@@ -245,11 +254,11 @@
if (!FileMgr::existsFile(confPath.c_str())) {
baseDir = OLD_SDCARD_PATH;
confPath = baseDir + "/mods.d/globals.conf";
- SWLOGD("libsword: init() sword config STILL not found, switching to STORAGE_PATH (parent of): %s", confPath.c_str());
+ SWLOGI("libsword: init() sword config STILL not found, switching to STORAGE_PATH (parent of): %s", confPath.c_str());
if (!FileMgr::existsFile(confPath.c_str()) && firstInit) {
FileMgr::createParent(confPath.c_str());
remove(confPath.c_str());
- SWLOGD("libsword: init() saving basic: %s", confPath.c_str());
+ SWLOGI("libsword: init() saving basic: %s", confPath.c_str());
SWConfig config(confPath.c_str());
config["Globals"]["HiAndroid"] = "weeee";
config.save();
@@ -258,11 +267,11 @@
if (!FileMgr::existsFile(confPath.c_str())) {
baseDir = STORAGE_BASE;
confPath = baseDir + "/mods.d/globals.conf";
-SWLOGD("libsword: init() sword config STILL not found, switching to STORAGE_PATH (parent of): %s", confPath.c_str());
+SWLOGI("libsword: init() sword config STILL not found, switching to STORAGE_PATH (parent of): %s", confPath.c_str());
if (!FileMgr::existsFile(confPath.c_str()) && firstInit) {
FileMgr::createParent(confPath.c_str());
remove(confPath.c_str());
-SWLOGD("libsword: init() saving basic: %s", confPath.c_str());
+SWLOGI("libsword: init() saving basic: %s", confPath.c_str());
SWConfig config(confPath.c_str());
config["Globals"]["HiAndroid"] = "weeee";
config.save();
@@ -276,30 +285,30 @@
config.save();
exists = true;
}
-SWLOGD("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", confPath.c_str());
+SWLOGI("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", confPath.c_str());
-SWLOGD("libsword: init() creating WebMgr using path: %s", baseDir.c_str());
+SWLOGI("libsword: init() creating WebMgr using path: %s", baseDir.c_str());
mgr = new WebMgr(baseDir, exists?confPath.c_str():nullptr);
-SWLOGD("libsword: init() augmenting modules from: %s", AND_BIBLE_MODULES_PATH);
+SWLOGI("libsword: init() augmenting modules from: %s", AND_BIBLE_MODULES_PATH);
// for And Bible modules
mgr->augmentModules(AND_BIBLE_MODULES_PATH, true);
// if our basedir isn't the sdcard, let's augment the sdcard
if (strcmp(baseDir.c_str(), SDCARD_PATH)) { // NOLINT(bugprone-suspicious-string-compare)
- SWLOGD("libsword: init() augmenting modules from: %s", SDCARD_PATH);
+ SWLOGI("libsword: init() augmenting modules from: %s", SDCARD_PATH);
mgr->augmentModules(SDCARD_PATH, true);
}
if (strcmp(baseDir.c_str(), OLD_SDCARD_PATH)) { // NOLINT(bugprone-suspicious-string-compare)
-SWLOGD("libsword: init() augmenting modules from: %s", OLD_SDCARD_PATH);
+SWLOGI("libsword: init() augmenting modules from: %s", OLD_SDCARD_PATH);
mgr->augmentModules(OLD_SDCARD_PATH, true);
}
// if our basedir isn't the private storage base, let's augment the private
// storage base in case a previous version of the app stored modules there.
if (strcmp(baseDir.c_str(), STORAGE_BASE)) { // NOLINT(bugprone-suspicious-string-compare)
-SWLOGD("libsword: init() augmenting modules from: %s", STORAGE_BASE.c_str());
+SWLOGI("libsword: init() augmenting modules from: %s", STORAGE_BASE.c_str());
mgr->augmentModules(STORAGE_BASE, true);
}
-SWLOGD("libsword: init() adding locales from baseDir.");
+SWLOGI("libsword: init() adding locales from baseDir.");
LocaleMgr::getSystemLocaleMgr()->loadConfigDir(SWBuf(STORAGE_BASE + "/locales.d").c_str());
LocaleMgr::getSystemLocaleMgr()->loadConfigDir(SWBuf(STORAGE_BASE + "/uilocales.d").c_str());
LocaleMgr::getSystemLocaleMgr()->loadConfigDir((SWBuf(SDCARD_PATH) + "/locales.d").c_str());
@@ -309,7 +318,7 @@
mgr->setGlobalOption("Footnotes", "On");
mgr->setGlobalOption("Cross-references", "On");
-SWLOGD("libsword: init() end.");
+SWLOGI("libsword: init() end.");
}
firstInit = false;
}
@@ -321,14 +330,14 @@
}
installStatusReporter->init(env, progressReporter);
if (!installMgr) {
-SWLOGD("initInstall: installMgr is null");
+SWLOGI("initInstall: installMgr is null");
SWBuf baseDir = SDCARD_PATH;
baseDir += "/InstallMgr";
SWBuf confPath = baseDir + "/InstallMgr.conf";
// be sure we have at least some config file already out there
-SWLOGD("initInstall: confPath: %s", confPath.c_str());
+SWLOGI("initInstall: confPath: %s", confPath.c_str());
if (!FileMgr::existsFile(confPath.c_str()) && firstInstallInit) {
-SWLOGD("initInstall: file doesn't exist: %s", confPath.c_str());
+SWLOGI("initInstall: file doesn't exist: %s", confPath.c_str());
FileMgr::createParent(confPath.c_str());
SWConfig config(confPath.c_str());
config["General"]["PassiveFTP"] = "true";
@@ -338,7 +347,7 @@
baseDir = OLD_SDCARD_PATH;
confPath = baseDir + "/InstallMgr.conf";
if (!FileMgr::existsFile(confPath.c_str()) && firstInstallInit) {
- SWLOGD("initInstall: file STILL doesn't exist, switching to STORAGE_BASE (parent of): %s", confPath.c_str());
+ SWLOGI("initInstall: file STILL doesn't exist, switching to STORAGE_BASE (parent of): %s", confPath.c_str());
FileMgr::createParent(confPath.c_str());
SWConfig config(confPath.c_str());
config["General"]["PassiveFTP"] = "true";
@@ -349,7 +358,7 @@
baseDir = STORAGE_BASE;
confPath = baseDir + "/InstallMgr.conf";
if (!FileMgr::existsFile(confPath.c_str()) && firstInstallInit) {
-SWLOGD("initInstall: file STILL doesn't exist, switching to STORAGE_BASE (parent of): %s", confPath.c_str());
+SWLOGI("initInstall: file STILL doesn't exist, switching to STORAGE_BASE (parent of): %s", confPath.c_str());
FileMgr::createParent(confPath.c_str());
SWConfig config(confPath.c_str());
config["General"]["PassiveFTP"] = "true";
@@ -358,7 +367,7 @@
}
installMgr = new InstallMgr(baseDir, installStatusReporter);
if (disclaimerConfirmed) installMgr->setUserDisclaimerConfirmed(true);
-SWLOGD("initInstall: instantiated InstallMgr with baseDir: %s", baseDir.c_str());
+SWLOGI("initInstall: instantiated InstallMgr with baseDir: %s", baseDir.c_str());
}
firstInstallInit = false;
}
@@ -365,9 +374,9 @@
#ifdef BIBLESYNC
void bibleSyncCallback(char cmd, string pkt_uuid, string bible, string ref, string alt, string group, string domain, string info, string dump) {
-SWLOGD("bibleSync callback msg: %c; pkt_uuid: %s; bible: %s; ref: %s; alt: %s; group: %s; domain: %s; info: %s; dump: %s", cmd, pkt_uuid.c_str(), bible.c_str(), ref.c_str(), alt.c_str(), group.c_str(), domain.c_str(), info.c_str(), dump.c_str());
+//SWLOGD("bibleSync callback msg: %c; pkt_uuid: %s; bible: %s; ref: %s; alt: %s; group: %s; domain: %s; info: %s; dump: %s", cmd, pkt_uuid.c_str(), bible.c_str(), ref.c_str(), alt.c_str(), group.c_str(), domain.c_str(), info.c_str(), dump.c_str());
if (bibleSyncListener) {
-SWLOGD("bibleSync listener is true");
+//SWLOGD("bibleSync listener is true");
jclass cls = bibleSyncListenerEnv->GetObjectClass(bibleSyncListener);
switch (cmd) {
// error
@@ -383,11 +392,11 @@
break;
// chat message
case 'C': {
-SWLOGD("bibleSync Chat Received: %s", ref.c_str());
+//SWLOGD("bibleSync Chat Received: %s", ref.c_str());
jmethodID mid = bibleSyncListenerEnv->GetMethodID(cls, "chatReceived",
"(Ljava/lang/String;Ljava/lang/String;)V");
if (mid) {
-SWLOGD("bibleSync listener mid is available");
+//SWLOGD("bibleSync listener mid is available");
jstring user = strToUTF8Java(bibleSyncListenerEnv, group.c_str());
jstring msg = strToUTF8Java(bibleSyncListenerEnv, alt.c_str());
bibleSyncListenerEnv->CallVoidMethod(bibleSyncListener, mid, user, msg);
@@ -398,11 +407,11 @@
}
// navigation
case 'N': {
-SWLOGD("bibleSync Nav Received: %s", ref.c_str());
+//SWLOGD("bibleSync Nav Received: %s", ref.c_str());
jmethodID mid = bibleSyncListenerEnv->GetMethodID(cls, "navReceived",
"(Ljava/lang/String;)V");
if (mid) {
-SWLOGD("bibleSync listener mid is available");
+//SWLOGD("bibleSync listener mid is available");
jstring msg = strToUTF8Java(bibleSyncListenerEnv, ref.c_str());
bibleSyncListenerEnv->CallVoidMethod(bibleSyncListener, mid, msg);
bibleSyncListenerEnv->DeleteLocalRef(msg);
@@ -410,16 +419,15 @@
break;
}
default:
-SWLOGD("bibleSync listener got unhandled cmd: '%c'", cmd);
+//SWLOGD("bibleSync listener got unhandled cmd: '%c'", cmd);
break;
}
-SWLOGD("bibleSync listener deleting local ref to cls");
+//SWLOGD("bibleSync listener deleting local ref to cls");
bibleSyncListenerEnv->DeleteLocalRef(cls);
}
}
#endif
-}
JNIEXPORT jstring JNICALL Java_org_crosswire_android_sword_SWMgr_version
@@ -446,7 +454,7 @@
const char *basePath = (basePathJS?env->GetStringUTFChars(basePathJS, nullptr):nullptr);
STORAGE_BASE = basePath;
env->ReleaseStringUTFChars(basePathJS, basePath);
-SWLOGD("setting STORAGE_BASE to: %s", STORAGE_BASE.c_str());
+SWLOGI("setting STORAGE_BASE to: %s", STORAGE_BASE.c_str());
delete mgr;
mgr = nullptr;
@@ -481,7 +489,7 @@
size++;
}
-SWLOGD("getModInfoList returning %d length array\n", size);
+SWLOGI("getModInfoList returning %d length array\n", size);
jclass clazzModInfo = env->FindClass("org/crosswire/android/sword/SWMgr$ModInfo");
jclass clazzString = env->FindClass("java/lang/String");
@@ -709,7 +717,7 @@
bool exists = FileMgr::existsFile(confPath.c_str());
jclass clazzString = env->FindClass("java/lang/String");
jobjectArray ret;
-SWLOGD("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", confPath.c_str());
+SWLOGI("libsword: extraConfig %s at path: %s", exists?"Exists":"Absent", confPath.c_str());
if (exists) {
SWConfig config(confPath.c_str());
SectionMap::const_iterator sit;
@@ -716,7 +724,7 @@
for (sit = config.getSections().begin(); sit != config.getSections().end(); ++sit) {
count++;
}
-SWLOGD("libsword: %d sections found in extraConfig", count);
+SWLOGI("libsword: %d sections found in extraConfig", count);
ret = (jobjectArray) env->NewObjectArray(count, clazzString, nullptr);
count = 0;
for (sit = config.getSections().begin(); sit != config.getSections().end(); ++sit) {
@@ -1108,7 +1116,7 @@
jstring sourceNameJS = (jstring)env->GetObjectField(me, sourceFieldID);
const char *modName = (modNameJS?env->GetStringUTFChars(modNameJS, nullptr):nullptr);
const char *sourceName = (sourceNameJS?env->GetStringUTFChars(sourceNameJS, nullptr):nullptr);
-SWLOGD("libsword: lookup up module %s from source: %s", modName?modName:"<null>", sourceName?sourceName:"<null>");
+//SWLOGD("libsword: lookup up module %s from source: %s", modName?modName:"<null>", sourceName?sourceName:"<null>");
if (sourceName && *sourceName) {
initInstall(env);
@@ -1140,13 +1148,13 @@
if (module) {
const char *keyText = env->GetStringUTFChars(keyTextJS, nullptr);
-SWLOGD("setKeyText(%s, %s)", module->getName(), keyText);
+//SWLOGD("setKeyText(%s, %s)", module->getName(), keyText);
SWKey *key = module->getKey();
VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
if (vkey && (*keyText=='+' ||*keyText=='-')) {
if (!stricmp(keyText+1, "book")) {
int newBook = vkey->getBook() + ((*keyText=='+')?1:-1);
-SWLOGD("setting book to %d", newBook);
+//SWLOGD("setting book to %d", newBook);
vkey->setBook((signed char)newBook);
env->ReleaseStringUTFChars(keyTextJS, keyText);
return;
@@ -1289,7 +1297,7 @@
const char *level2 = env->GetStringUTFChars(level2JS, nullptr);
const char *level3 = env->GetStringUTFChars(level3JS, nullptr);
bool filtered = (filteredJS == JNI_TRUE);
-SWLOGD("calling getEntryAttributes(%s, %s, %s, %s", level1, level2, level3, (filtered?"true":"false"));
+//SWLOGD("calling getEntryAttributes(%s, %s, %s, %s", level1, level2, level3, (filtered?"true":"false"));
jclass clazzString = env->FindClass("java/lang/String");
jobjectArray ret = nullptr;
@@ -1369,7 +1377,7 @@
ret = (jobjectArray) env->NewObjectArray(results.size(), clazzString, nullptr);
-SWLOGD("getEntryAttributes: size returned: %d", results.size());
+//SWLOGD("getEntryAttributes: size returned: %d", results.size());
for (int i = 0; i < results.size(); ++i) {
jstring s;
@@ -1719,12 +1727,12 @@
jstring retVal = nullptr;
const char *configKey = env->GetStringUTFChars(configKeyJS, nullptr);
-SWLOGD("getConfigEntry(%s)\n", configKey);
+//SWLOGD("getConfigEntry(%s)\n", configKey);
SWModule *module = getModule(env, me);
if (module) {
-SWLOGD("getConfigEntry, found module.");
+//SWLOGD("getConfigEntry, found module.");
const char *configValue = module->getConfigEntry(configKey);
@@ -1784,7 +1792,7 @@
struct pu {
pu(JNIEnv *env, jobject pr) : env(env), progressReporter(pr), last(0) {
-SWLOGD("building progressReporter");
+//SWLOGD("building progressReporter");
jclass cls = env->GetObjectClass(progressReporter);
mid = env->GetMethodID(cls, "progressReport", "(I)V");
env->DeleteLocalRef(cls);
@@ -1956,7 +1964,7 @@
const char *modName = env->GetStringUTFChars(modNameJS, nullptr);
-SWLOGD("uninstallModule %s\n", modName);
+SWLOGI("uninstallModule %s\n", modName);
const SWModule *module = mgr->getModule(modName);
@@ -1989,7 +1997,7 @@
for (InstallSourceMap::const_iterator it = installMgr->sources.begin(); it != installMgr->sources.end(); ++it) {
count++;
}
-SWLOGD("getRemoteSources: count: %d\n", count);
+SWLOGI("getRemoteSources: count: %d\n", count);
ret = (jobjectArray) env->NewObjectArray(count, clazzString, nullptr);
count = 0;
for (InstallSourceMap::const_iterator it = installMgr->sources.begin(); it != installMgr->sources.end(); ++it) {
@@ -2035,12 +2043,12 @@
JNIEXPORT jobjectArray JNICALL Java_org_crosswire_android_sword_InstallMgr_getRemoteModInfoList
(JNIEnv *env, jobject me, jstring sourceNameJS) {
-SWLOGD("getRemoteModInfoList\n");
+SWLOGI("getRemoteModInfoList\n");
init(env);
initInstall(env);
const char *sourceName = env->GetStringUTFChars(sourceNameJS, nullptr);
-SWLOGD("sourceName: %s\n", sourceName);
+SWLOGI("sourceName: %s\n", sourceName);
jclass clazzModInfo = env->FindClass("org/crosswire/android/sword/SWMgr$ModInfo");
jclass clazzString = env->FindClass("java/lang/String");
@@ -2056,7 +2064,7 @@
jobjectArray ret = nullptr;
InstallSourceMap::const_iterator source = installMgr->sources.find(sourceName);
if (source == installMgr->sources.end()) {
-SWLOGD("remoteListModules returning 0 length array\n");
+SWLOGI("remoteListModules returning 0 length array\n");
ret = (jobjectArray) env->NewObjectArray(0, clazzModInfo, nullptr);
env->ReleaseStringUTFChars(sourceNameJS, sourceName);
@@ -2064,7 +2072,7 @@
return ret;
}
-SWLOGD("found source: %s\n", sourceName);
+//SWLOGD("found source: %s\n", sourceName);
map<SWModule *, int> modStats = InstallMgr::getModuleStatus(*mgr, *source->second->getMgr());
@@ -2073,7 +2081,7 @@
size++;
}
-SWLOGD("remoteListModules returning %d length array\n", size);
+//SWLOGD("remoteListModules returning %d length array\n", size);
ret = (jobjectArray) env->NewObjectArray(size, clazzModInfo, nullptr);
int i = 0;
@@ -2145,7 +2153,7 @@
initInstall(env, progressReporter);
const char *sourceName = env->GetStringUTFChars(sourceNameJS, nullptr);
-SWLOGD("remoteInstallModule: sourceName: %s\n", sourceName);
+SWLOGI("remoteInstallModule: sourceName: %s\n", sourceName);
InstallSourceMap::const_iterator source = installMgr->sources.find(sourceName);
env->ReleaseStringUTFChars(sourceNameJS, sourceName);
@@ -2157,7 +2165,7 @@
SWMgr *rmgr = is->getMgr();
const char *modName = env->GetStringUTFChars(modNameJS, nullptr);
-SWLOGD("remoteInstallModule: modName: %s\n", modName);
+SWLOGI("remoteInstallModule: modName: %s\n", modName);
const SWModule *module = rmgr->getModule(modName);
env->ReleaseStringUTFChars(modNameJS, modName);
@@ -2196,12 +2204,12 @@
const char *sourceNameC = env->GetStringUTFChars(sourceNameJS, nullptr);
SWBuf sourceName = sourceNameC;
-SWLOGD("getRemoteModuleByName: sourceName: %s\n", sourceName.c_str());
+//SWLOGD("getRemoteModuleByName: sourceName: %s\n", sourceName.c_str());
InstallSourceMap::const_iterator source = installMgr->sources.find(sourceName.c_str());
env->ReleaseStringUTFChars(sourceNameJS, sourceNameC);
if (source == installMgr->sources.end()) {
-SWLOGD("Couldn't find remote source [%s]\n", sourceName.c_str());
+SWLOGI("Couldn't find remote source [%s]\n", sourceName.c_str());
return nullptr;
}
@@ -2213,7 +2221,7 @@
env->ReleaseStringUTFChars(modNameJS, modNameC);
if (module) {
-SWLOGD("Found remote module [%s]: %s\n", sourceName.c_str(), modName.c_str());
+//SWLOGD("Found remote module [%s]: %s\n", sourceName.c_str(), modName.c_str());
SWBuf type = module->getType();
SWBuf cat = module->getConfigEntry("Category");
if (cat.length() > 0) type = cat;
@@ -2224,7 +2232,7 @@
fieldID = env->GetFieldID(clazzSWModule, "description", "Ljava/lang/String;"); env->SetObjectField(retVal, fieldID, strToUTF8Java(env, module->getDescription()));
fieldID = env->GetFieldID(clazzSWModule, "category", "Ljava/lang/String;"); env->SetObjectField(retVal, fieldID, strToUTF8Java(env, type));
fieldID = env->GetFieldID(clazzSWModule, "remoteSourceName", "Ljava/lang/String;"); env->SetObjectField(retVal, fieldID, strToUTF8Java(env, sourceName));
-SWLOGD("returning remote module [%s]: %s\n", sourceName.c_str(), modName.c_str());
+//SWLOGD("returning remote module [%s]: %s\n", sourceName.c_str(), modName.c_str());
}
return retVal;
@@ -2254,10 +2262,10 @@
*/
JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_sendBibleSyncMessage
(JNIEnv *env, jobject me, jstring osisRefJS) {
-SWLOGD("libsword: sendBibleSyncMessage() begin");
+//SWLOGD("libsword: sendBibleSyncMessage() begin");
if (!bibleSync) {
-SWLOGD("libsword: sendBibleSyncMessage() bibleSync not active; message not sent.");
+//SWLOGD("libsword: sendBibleSyncMessage() bibleSync not active; message not sent.");
return;
}
const char *osisRefString = env->GetStringUTFChars(osisRefJS, nullptr);
@@ -2269,7 +2277,7 @@
#ifdef BIBLESYNC
BibleSync_xmit_status result = bibleSync->Transmit(modName.c_str(), osisRef.c_str());
#endif
-SWLOGD("libsword: sendBibleSyncMessage() finished with status code: %d", result);
+//SWLOGD("libsword: sendBibleSyncMessage() finished with status code: %d", result);
env->ReleaseStringUTFChars(osisRefJS, osisRefString);
}
@@ -2284,7 +2292,7 @@
JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_startBibleSync
(JNIEnv *env, jobject me, jstring appNameJS, jstring userNameJS, jstring passphraseJS, jobject bibleSyncListenerMe) {
-SWLOGD("startBibleSync() start");
+//SWLOGD("startBibleSync() start");
// only one thread
static bool starting = false;
if (starting) return;
@@ -2304,32 +2312,32 @@
// in case we're restarting, wait for our loop to finish for sure
if (::bibleSync) {
-SWLOGD("startBibleSync() sleeping 3 seconds");
+//SWLOGD("startBibleSync() sleeping 3 seconds");
sleep(3);
}
bibleSyncListener = bibleSyncListenerMe;
bibleSyncListenerEnv = env;
-SWLOGD("startBibleSync - calling init");
+//SWLOGD("startBibleSync - calling init");
if (!bibleSync) {
-SWLOGD("bibleSync initializing c-tor");
+//SWLOGD("bibleSync initializing c-tor");
bibleSync = new BibleSync(appName.c_str(), SWVersion::currentVersion.getText(), userName.c_str());
-SWLOGD("bibleSync initializing setMode");
+//SWLOGD("bibleSync initializing setMode");
bibleSync->setMode(BSP_MODE_PERSONAL, bibleSyncCallback, passphrase.c_str());
}
-SWLOGD("startBibleSync - starting while listener");
+//SWLOGD("startBibleSync - starting while listener");
starting = false;
while (bibleSyncListener) {
-SWLOGD("bibleSyncListener - while loop iteration");
+//SWLOGD("bibleSyncListener - while loop iteration");
BibleSync::Receive(bibleSync);
-SWLOGD("bibleSyncListener - sleeping for 2 seconds");
+//SWLOGD("bibleSyncListener - sleeping for 2 seconds");
sleep(2);
}
delete bibleSync;
bibleSync = nullptr;
#else
-SWLOGD("registerBibleSyncListener: !!! BibleSync disabled in native code.");
+//SWLOGD("registerBibleSyncListener: !!! BibleSync disabled in native code.");
#endif
}
@@ -2342,7 +2350,7 @@
JNIEXPORT void JNICALL Java_org_crosswire_android_sword_SWMgr_stopBibleSync
(JNIEnv *env, jobject me) {
-SWLOGD("stopBibleSync()");
+//SWLOGD("stopBibleSync()");
#ifdef BIBLESYNC
// if we have a listen loop going, just break the loop; the bibleSync cleanup will happen there
if (bibleSyncListener) bibleSyncListener = nullptr;
@@ -2351,7 +2359,7 @@
bibleSync = nullptr;
}
#else
-SWLOGD("registerBibleSyncListener: !!! BibleSync disabled in native code.");
+//SWLOGD("registerBibleSyncListener: !!! BibleSync disabled in native code.");
#endif
}
Modified: trunk/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java
===================================================================
--- trunk/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/java-jni/src/org/crosswire/android/sword/InstallMgr.java 2023-11-06 16:58:07 UTC (rev 3893)
@@ -2,7 +2,7 @@
*
* InstallMgr.java -
*
- * $Id: InstallMgr.java 3229 2014-05-09 09:32:36Z scribe $
+ * $Id$
*
* Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
Modified: trunk/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java
===================================================================
--- trunk/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java 2023-11-06 16:51:41 UTC (rev 3892)
+++ trunk/bindings/java-jni/src/org/crosswire/android/sword/SWMgr.java 2023-11-06 16:58:07 UTC (rev 3893)
@@ -2,7 +2,7 @@
*
* SWMgr.java -
*
- * $Id: SWMgr.java 2833 2013-06-29 06:40:28Z chrislit $
+ * $Id$
*
* Copyright 2009-2013 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -77,12 +77,11 @@
public native String[] getExtraConfigKeys(String section);
public native String getExtraConfigValue(String section, String key);
+ /**
+ * override in platform descendant, e.g., AndroidSWMgr
+ */
public String getStorageBasePath() {
return ".";
-/*
- Context context = app.getApplicationContext();
- return context.getFilesDir().getAbsolutePath();
-*/
}
public static interface BibleSyncListener {
public void navReceived(String osisRef);
More information about the sword-cvs
mailing list