# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/app-branded-kaisipan/app-android/build/intermediates/default_proguard_files/global/proguard-android.txt-7.2.1
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
#
# Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with
# the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and
# will be ignored by new version of the Android plugin for Gradle.

# Optimization is turned off by default. Dex does not like code run
# through the ProGuard optimize steps (and performs some
# of these optimizations on its own).
# Note that if you want to enable optimization, you cannot just
# include optimization flags in your own project configuration file;
# instead you will need to point to the
# "proguard-android-optimize.txt" file instead of this one from your
# project.properties file.
-dontoptimize

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

# Preserve some attributes that may be required for reflection.
-keepattributes AnnotationDefault,
                EnclosingMethod,
                InnerClasses,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations,
                Signature

-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep public class com.google.android.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
-dontnote com.google.vending.licensing.ILicensingService
-dontnote com.google.android.vending.licensing.ILicensingService

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames,includedescriptorclasses class * {
    native <methods>;
}

# Keep setters in Views so that animations can still work.
-keepclassmembers public class * extends android.view.View {
    void set*(***);
    *** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick.
-keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
}

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keepclassmembers class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

# Preserve annotated Javascript interface methods.
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

# The support libraries contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontnote android.support.**
-dontnote androidx.**
-dontwarn android.support.**
-dontwarn androidx.**

# This class is deprecated, but remains for backward compatibility.
-dontwarn android.util.FloatMath

# Understand the @Keep support annotation.
-keep class android.support.annotation.Keep
-keep class androidx.annotation.Keep

-keep @android.support.annotation.Keep class * {*;}
-keep @androidx.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <init>(...);
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <init>(...);
}

# These classes are duplicated between android.jar and org.apache.http.legacy.jar.
-dontnote org.apache.http.**
-dontnote android.net.http.**

# These classes are duplicated between android.jar and core-lambda-stubs.jar.
-dontnote java.lang.invoke.**

# End of content from /home/jenkins/.jenkins/workspace/app-branded-kaisipan/app-android/build/intermediates/default_proguard_files/global/proguard-android.txt-7.2.1
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/app-branded-kaisipan/app-android/proguard-rules.pro
-keep public class org.xmlpull.v1.*
-keep public interface org.xmlpull.v1.*

#Keep anything with the Serializable annotation. We are using Gson to avoid kotlinx serialization
# errors, but GSON requires classes to be exempted from obfuscation
-keep @kotlinx.serialization.Serializable class * {
    *;
}


# Begin rules as per Kotlinx Serialization README
-keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations

# kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
-keepclassmembers class kotlinx.serialization.json.** {
    *** Companion;
}
-keepclasseswithmembers class kotlinx.serialization.json.** {
    kotlinx.serialization.KSerializer serializer(...);
}

 #Change here com.yourcompany.yourpackage
-keep,includedescriptorclasses class com.ustadmobile.**$$serializer { *; } # <-- change package name to your app's

-keepclassmembers class com.ustadmobile.** { # <-- change package name to your app's
    *** Companion;
}
-keepclasseswithmembers class com.ustadmobile.** { # <-- change package name to your app's
    kotlinx.serialization.KSerializer serializer(...);
}
# End rules as per Kotlinx Serialization README
# End of content from /home/jenkins/.jenkins/workspace/app-branded-kaisipan/app-android/proguard-rules.pro
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/app-branded-kaisipan/app-android/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
# Generated by the gradle plugin
-keep class androidx.appcompat.widget.AppCompatButton { <init>(...); }
-keep class androidx.appcompat.widget.AppCompatImageView { <init>(...); }
-keep class androidx.appcompat.widget.AppCompatTextView { <init>(...); }
-keep class androidx.appcompat.widget.LinearLayoutCompat { <init>(...); }
-keep class androidx.cardview.widget.CardView { <init>(...); }
-keep class androidx.constraintlayout.widget.Barrier { <init>(...); }
-keep class androidx.constraintlayout.widget.ConstraintLayout { <init>(...); }
-keep class androidx.constraintlayout.widget.Guideline { <init>(...); }
-keep class androidx.coordinatorlayout.widget.CoordinatorLayout { <init>(...); }
-keep class androidx.core.content.FileProvider { <init>(...); }
-keep class androidx.core.widget.NestedScrollView { <init>(...); }
-keep class androidx.drawerlayout.widget.DrawerLayout { <init>(...); }
-keep class androidx.fragment.app.FragmentContainerView { <init>(...); }
-keep class androidx.recyclerview.widget.RecyclerView { <init>(...); }
-keep class androidx.viewpager2.widget.ViewPager2 { <init>(...); }
-keep class com.ernestoyaquello.dragdropswiperecyclerview.DragDropSwipeRecyclerView { <init>(...); }
-keep class com.github.mikephil.charting.charts.LineChart { <init>(...); }
-keep class com.google.android.exoplayer2.ui.DefaultTimeBar { <init>(...); }
-keep class com.google.android.exoplayer2.ui.PlayerControlView { <init>(...); }
-keep class com.google.android.exoplayer2.ui.PlayerView { <init>(...); }
-keep class com.google.android.material.appbar.AppBarLayout { <init>(...); }
-keep class com.google.android.material.appbar.CollapsingToolbarLayout { <init>(...); }
-keep class com.google.android.material.appbar.MaterialToolbar { <init>(...); }
-keep class com.google.android.material.bottomnavigation.BottomNavigationView { <init>(...); }
-keep class com.google.android.material.button.MaterialButton { <init>(...); }
-keep class com.google.android.material.button.MaterialButtonToggleGroup { <init>(...); }
-keep class com.google.android.material.chip.Chip { <init>(...); }
-keep class com.google.android.material.chip.ChipGroup { <init>(...); }
-keep class com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton { <init>(...); }
-keep class com.google.android.material.imageview.ShapeableImageView { <init>(...); }
-keep class com.google.android.material.navigation.NavigationView { <init>(...); }
-keep class com.google.android.material.progressindicator.CircularProgressIndicator { <init>(...); }
-keep class com.google.android.material.switchmaterial.SwitchMaterial { <init>(...); }
-keep class com.google.android.material.tabs.TabLayout { <init>(...); }
-keep class com.google.android.material.textfield.TextInputEditText { <init>(...); }
-keep class com.google.android.material.textfield.TextInputLayout { <init>(...); }
-keep class com.ustadmobile.port.android.view.AboutActivity { <init>(...); }
-keep class com.ustadmobile.port.android.view.CustomFieldAutoCompleteTextView { <init>(...); }
-keep class com.ustadmobile.port.android.view.DownloadProgressView { <init>(...); }
-keep class com.ustadmobile.port.android.view.DownloadStatusButton { <init>(...); }
-keep class com.ustadmobile.port.android.view.EpubContentActivity { <init>(...); }
-keep class com.ustadmobile.port.android.view.IdOptionAutoCompleteTextView { <init>(...); }
-keep class com.ustadmobile.port.android.view.MainActivity { <init>(...); }
-keep class com.ustadmobile.port.android.view.OnBoardingActivity { <init>(...); }
-keep class com.ustadmobile.port.android.view.SplashScreenActivity { <init>(...); }
-keep class com.ustadmobile.port.android.view.StorageOptionsAutocompleteTextView { <init>(...); }
-keep class com.ustadmobile.port.android.view.TocListView { <init>(...); }
-keep class com.ustadmobile.port.android.view.VerticalTextView { <init>(...); }
-keep class com.ustadmobile.port.android.view.XapiChartView { <init>(...); }
-keep class de.hdodenhof.circleimageview.CircleImageView { <init>(...); }
-keep class org.wordpress.aztec.AztecText { <init>(...); }
-keep class org.wordpress.aztec.toolbar.AztecToolbar { <init>(...); }

# End of content from /home/jenkins/.jenkins/workspace/app-branded-kaisipan/app-android/build/intermediates/aapt_proguard_file/release/aapt_rules.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/c0e6f5a3827ba3191b42bb56a02e1577/transformed/databinding-runtime-7.2.1/proguard.txt
-dontwarn androidx.databinding.ViewDataBinding
-dontwarn androidx.databinding.ViewDataBinding$LiveDataListener

# instant apps load these via reflection so we need to keep them.
-keep public class * extends androidx.databinding.DataBinderMapper


# End of content from /home/jenkins/.gradle/caches/transforms-3/c0e6f5a3827ba3191b42bb56a02e1577/transformed/databinding-runtime-7.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/app-branded-kaisipan/sharedse/build/intermediates/consumer_proguard_dir/release/lib0/proguard.txt
#
# BleProxyResponder requires reflection based access to the HTTPSession headers field so it can
# be serialized and sent over BLE.
#
-keepclassmembernames class fi.iki.elonen.NanoHTTPD$HTTPSession {
java.util.Map headers; 
}

-keep class com.ustadmobile.sharedse.network.ContainerDownloadManagerImpl$MutableLiveDataWithRef {
    ** reference;
}

# End of content from /home/jenkins/.jenkins/workspace/app-branded-kaisipan/sharedse/build/intermediates/consumer_proguard_dir/release/lib0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/app-branded-kaisipan/core/build/intermediates/consumer_proguard_dir/release/lib0/proguard.txt

#
# These classes are serialized using Gson, hence fields must not be obfuscated
-keep public class com.ustadmobile.core.contentformats.xapi.*{
    <fields>;
}

-keep public class com.ustadmobile.core.contentformats.metadata.*{
    *;
}

# LongWrapper is serialized and deserialized with Gson, but is not itself an entity so we need to
# explicitly exempt it from obfuscation
-keep public class com.ustadmobile.core.util.LongWrapper {
    *;
}

# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
# as per https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

#Keep anything with the Serializable annotation. We are using Gson to avoid kotlinx serialization
# errors, but GSON requires classes to be exempted from obfuscation
-keep @kotlinx.serialization.Serializable class * {
    *;
}

# End of content from /home/jenkins/.jenkins/workspace/app-branded-kaisipan/core/build/intermediates/consumer_proguard_dir/release/lib0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/58e70edc97c45cb77975fe56c02ffe96/transformed/door-runtime-android-0.0.59f/proguard.txt
# EntityAck is sent to the server to acknowledge receipt of entities, but is not itself an entity
# It must not be obfuscated.
-keep public class com.ustadmobile.door.EntityAck {
    *;
}

#
-keep public class * extends com.ustadmobile.door.ext.DoorDatabaseMetadata {
    *;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/58e70edc97c45cb77975fe56c02ffe96/transformed/door-runtime-android-0.0.59f/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/cd82e39197da8a24d41647cd01fbdc20/transformed/navigation-ui-2.4.2/proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# 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
#
#      http://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.

# setProgress is called via an ObjectAnimator in AbstractAppBarOnDestinationChangedListener
-keepclassmembers class androidx.appcompat.graphics.drawable.DrawerArrowDrawable {
    void setProgress(float);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/cd82e39197da8a24d41647cd01fbdc20/transformed/navigation-ui-2.4.2/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/5a94ffa1f9c216314161f60cbebdf192/transformed/material-1.5.0/proguard.txt
# Copyright (C) 2015 The Android Open Source Project
#
# 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
#
#      http://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.

# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>();
}

# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior
-keepattributes RuntimeVisible*Annotation*

# Copyright (C) 2018 The Android Open Source Project
#
# 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
#
#      http://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.

# AppCompatViewInflater reads the viewInflaterClass theme attribute which then
# reflectively instantiates MaterialComponentsViewInflater using the no-argument
# constructor. We only need to keep this constructor and the class name if
# AppCompatViewInflater is also being kept.
-if class androidx.appcompat.app.AppCompatViewInflater
-keep class com.google.android.material.theme.MaterialComponentsViewInflater {
    <init>();
}


# End of content from /home/jenkins/.gradle/caches/transforms-3/5a94ffa1f9c216314161f60cbebdf192/transformed/material-1.5.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/84829d787aa26c522af093475cf674d5/transformed/appcompat-1.4.1/proguard.txt
# Copyright (C) 2018 The Android Open Source Project
#
# 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
#
#      http://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.

# aapt is not able to read app::actionViewClass and app:actionProviderClass to produce proguard
# keep rules. Add a commonly used SearchView to the keep list until b/109831488 is resolved.
-keep class androidx.appcompat.widget.SearchView { <init>(...); }

# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* {
  <methods>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/84829d787aa26c522af093475cf674d5/transformed/appcompat-1.4.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/2d66e2e4f1382d85bb3a607a836f3475/transformed/fragment-1.4.1/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# 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
#
#      http://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.

# The default FragmentFactory creates Fragment instances using reflection
-if public class ** extends androidx.fragment.app.Fragment
-keepclasseswithmembers,allowobfuscation public class <1> {
    public <init>();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/2d66e2e4f1382d85bb3a607a836f3475/transformed/fragment-1.4.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/3541d399350770e3271783ec5e8e6c80/transformed/navigation-common-2.4.2/proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# 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
#
#      http://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.

# NavArgsLazy creates NavArgs instances using reflection
-if public class ** implements androidx.navigation.NavArgs
-keepclassmembers public class <1> {
    ** fromBundle(android.os.Bundle);
}

# Retain the @Navigator.Name annotation on each subclass of Navigator.
# R8 full mode only retains annotations on items matched by a -keep rule,
# hence the extra -keep rule for the subclasses of Navigator.
#
# A -keep rule for the Navigator.Name annotation class is not required
# since the annotation is referenced from the code.
-keepattributes RuntimeVisibleAnnotations
-keep,allowobfuscation,allowshrinking class * extends androidx.navigation.Navigator

# End of content from /home/jenkins/.gradle/caches/transforms-3/3541d399350770e3271783ec5e8e6c80/transformed/navigation-common-2.4.2/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/5fc735be5eab67ca452b7bdf3c2f9d20/transformed/door-room-jdbc-0.0.59f/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-3/5fc735be5eab67ca452b7bdf3c2f9d20/transformed/door-room-jdbc-0.0.59f/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/0650be9dd109e2d85fe6a53dd9309ce1/transformed/window-1.0.0/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# 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
#
#      http://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.

# A rule that will keep classes that implement SidecarInterface$SidecarCallback if Sidecar seems
# be used. See b/157286362 and b/165268619 for details.
# TODO(b/208543178) investigate how to pass header jar to R8 so we don't need this rule
-if class androidx.window.layout.SidecarCompat {
  public setExtensionCallback(androidx.window.layout.ExtensionInterfaceCompat$ExtensionCallbackInterface);
}
-keep class androidx.window.layout.SidecarCompat$TranslatingCallback,
 androidx.window.layout.SidecarCompat$DistinctSidecarElementCallback {
  public onDeviceStateChanged(androidx.window.sidecar.SidecarDeviceState);
  public onWindowLayoutChanged(android.os.IBinder, androidx.window.sidecar.SidecarWindowLayoutInfo);
}
# End of content from /home/jenkins/.gradle/caches/transforms-3/0650be9dd109e2d85fe6a53dd9309ce1/transformed/window-1.0.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/93560eb489a833123ae0e5d7c3e4c50c/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# Allow R8 to optimize away the FastServiceLoader.
# Together with ServiceLoader optimization in R8
# this results in direct instantiation when loading Dispatchers.Main
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatcherLoader {
    boolean FAST_SERVICE_LOADER_ENABLED return false;
}

-assumenosideeffects class kotlinx.coroutines.internal.FastServiceLoaderKt {
    boolean ANDROID_DETECTED return true;
}

-keep class kotlinx.coroutines.android.AndroidDispatcherFactory {*;}

# Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt {
    boolean SUPPORT_MISSING return false;
}

# Statically turn off all debugging facilities and assertions
-assumenosideeffects class kotlinx.coroutines.DebugKt {
    boolean getASSERTIONS_ENABLED() return false;
    boolean getDEBUG() return false;
    boolean getRECOVER_STACK_TRACES() return false;
}
# End of content from /home/jenkins/.gradle/caches/transforms-3/93560eb489a833123ae0e5d7c3e4c50c/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/bfdbd99015ff0c9f6dd45588cfb9e86c/transformed/lifecycle-process-2.4.1/proguard.txt
# this rule is need to work properly when app is compiled with api 28, see b/142778206
-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; }
# End of content from /home/jenkins/.gradle/caches/transforms-3/bfdbd99015ff0c9f6dd45588cfb9e86c/transformed/lifecycle-process-2.4.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b27c62905d02e4ca5984b7f9621fdda4/transformed/work-runtime-2.7.1/proguard.txt
-keep class * extends androidx.work.Worker
-keep class * extends androidx.work.InputMerger
# Keep all constructors on ListenableWorker, Worker (also marked with @Keep)
-keep public class * extends androidx.work.ListenableWorker {
    public <init>(...);
}
# We need to keep WorkerParameters for the ListenableWorker constructor
-keep class androidx.work.WorkerParameters

# End of content from /home/jenkins/.gradle/caches/transforms-3/b27c62905d02e4ca5984b7f9621fdda4/transformed/work-runtime-2.7.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/0c5591e07dafe5a6159076ffa3181065/transformed/exoplayer-ui-2.14.0/proguard.txt
# Proguard rules specific to the UI module.

# Constructor method accessed via reflection in TrackSelectionDialogBuilder
-dontnote androidx.appcompat.app.AlertDialog.Builder
-keepclassmembers class androidx.appcompat.app.AlertDialog$Builder {
  <init>(android.content.Context, int);
  public android.content.Context getContext();
  public androidx.appcompat.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
  public androidx.appcompat.app.AlertDialog$Builder setView(android.view.View);
  public androidx.appcompat.app.AlertDialog$Builder setPositiveButton(int, android.content.DialogInterface$OnClickListener);
  public androidx.appcompat.app.AlertDialog$Builder setNegativeButton(int, android.content.DialogInterface$OnClickListener);
  public androidx.appcompat.app.AlertDialog create();
}
# Equivalent methods needed when the library is de-jetified.
-dontnote android.support.v7.app.AlertDialog.Builder
-keepclassmembers class android.support.v7.app.AlertDialog$Builder {
  <init>(android.content.Context, int);
  public android.content.Context getContext();
  public android.support.v7.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
  public android.support.v7.app.AlertDialog$Builder setView(android.view.View);
  public android.support.v7.app.AlertDialog$Builder setPositiveButton(int, android.content.DialogInterface$OnClickListener);
  public android.support.v7.app.AlertDialog$Builder setNegativeButton(int, android.content.DialogInterface$OnClickListener);
  public android.support.v7.app.AlertDialog create();
}

# Don't warn about checkerframework and Kotlin annotations
-dontwarn org.checkerframework.**
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**

# End of content from /home/jenkins/.gradle/caches/transforms-3/0c5591e07dafe5a6159076ffa3181065/transformed/exoplayer-ui-2.14.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/d2814b72e44663e7120c77edb51521db/transformed/recyclerview-1.2.1/proguard.txt
# Copyright (C) 2015 The Android Open Source Project
#
# 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
#
#      http://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.

# When layoutManager xml attribute is used, RecyclerView inflates
#LayoutManagers' constructors using reflection.
-keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager {
    public <init>(android.content.Context, android.util.AttributeSet, int, int);
    public <init>();
}

-keepclassmembers class androidx.recyclerview.widget.RecyclerView {
    public void suppressLayout(boolean);
    public boolean isLayoutSuppressed();
}
# End of content from /home/jenkins/.gradle/caches/transforms-3/d2814b72e44663e7120c77edb51521db/transformed/recyclerview-1.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/04f90b52cb92557bf19d26d437fb5296/transformed/coordinatorlayout-1.2.0/proguard.txt
# Copyright (C) 2016 The Android Open Source Project
#
# 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
#
#      http://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.

# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>();
}

# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView
-keepattributes AnnotationDefault,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations

# End of content from /home/jenkins/.gradle/caches/transforms-3/04f90b52cb92557bf19d26d437fb5296/transformed/coordinatorlayout-1.2.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/82c728817c92eaf014fe1a273c135b58/transformed/vectordrawable-animated-1.1.0/proguard.txt
# Copyright (C) 2016 The Android Open Source Project
#
# 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
#
#      http://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.

# keep setters in VectorDrawables so that animations can still work.
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
   void set*(***);
   *** get*();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/82c728817c92eaf014fe1a273c135b58/transformed/vectordrawable-animated-1.1.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/b9ab3ac3c343838480cecfb91b09ca0b/transformed/media-1.2.1/proguard.txt
# Copyright (C) 2017 The Android Open Source Project
#
# 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
#
#      http://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.

# Prevent Parcelable objects from being removed or renamed.
-keep class android.support.v4.media.** implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}

# Prevent Parcelable objects from being removed or renamed.
-keep class androidx.media.** implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}
# End of content from /home/jenkins/.gradle/caches/transforms-3/b9ab3ac3c343838480cecfb91b09ca0b/transformed/media-1.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/671c3efb9b4e11d7150f08ae3ba4836e/transformed/transition-1.4.1/proguard.txt
# Copyright (C) 2017 The Android Open Source Project
#
# 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
#
#      http://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.

# Keep a field in transition that is used to keep a reference to weakly-referenced object
-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter {
  androidx.transition.ChangeBounds$ViewBounds mViewBounds;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/671c3efb9b4e11d7150f08ae3ba4836e/transformed/transition-1.4.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/5aaf84500f268a68e6bda4ed762311d8/transformed/core-1.7.0/proguard.txt
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
  <methods>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/5aaf84500f268a68e6bda4ed762311d8/transformed/core-1.7.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/96bef05c3ec9f1fde1ca2691dff852b2/transformed/lifecycle-runtime-2.4.1/proguard.txt
-keepattributes AnnotationDefault,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations

-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
    <fields>;
}

-keep !interface * implements androidx.lifecycle.LifecycleObserver {
}

-keep class * implements androidx.lifecycle.GeneratedAdapter {
    <init>(...);
}

-keepclassmembers class ** {
    @androidx.lifecycle.OnLifecycleEvent *;
}

# this rule is need to work properly when app is compiled with api 28, see b/142778206
# Also this rule prevents registerIn from being inlined.
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
# End of content from /home/jenkins/.gradle/caches/transforms-3/96bef05c3ec9f1fde1ca2691dff852b2/transformed/lifecycle-runtime-2.4.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/a75b5a4d4c16c16f862a1754a0b99916/transformed/lifecycle-viewmodel-savedstate-2.3.1/proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
    <init>(androidx.lifecycle.SavedStateHandle);
}

-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/a75b5a4d4c16c16f862a1754a0b99916/transformed/lifecycle-viewmodel-savedstate-2.3.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/5d9b0219ca2fd8f2e60415891d4ec438/transformed/savedstate-1.1.0/proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# 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
#
#      http://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.

-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
    <init>();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/5d9b0219ca2fd8f2e60415891d4ec438/transformed/savedstate-1.1.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/9fc7b9af8cb13ebd7557849a80d00c93/transformed/room-runtime-2.4.2/proguard.txt
-keep class * extends androidx.room.RoomDatabase
-dontwarn androidx.room.paging.**

# End of content from /home/jenkins/.gradle/caches/transforms-3/9fc7b9af8cb13ebd7557849a80d00c93/transformed/room-runtime-2.4.2/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/7e44a50cf5a038aa84b06f05fbb51cd6/transformed/picasso-2.8/proguard.txt
### OKHTTP

# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote okhttp3.internal.Platform


### OKIO

# java.nio.file.* usage which cannot be used at runtime. Animal sniffer annotation.
-dontwarn okio.Okio
# JDK 7-only method which is @hide on Android. Animal sniffer annotation.
-dontwarn okio.DeflaterSink

# End of content from /home/jenkins/.gradle/caches/transforms-3/7e44a50cf5a038aa84b06f05fbb51cd6/transformed/picasso-2.8/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/cd2796d68bdf518cc2fdc16284956ab9/transformed/flexbox-3.0.0/proguard.txt
#
# Copyright 2016 Google Inc. All rights reserved.
#
# 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
#
#      http://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.
#

# The FlexboxLayoutManager may be set from a layout xml, in that situation the RecyclerView
# tries to instantiate the layout manager using reflection.
# This is to prevent the layout manager from being obfuscated.
-keepnames public class com.google.android.flexbox.FlexboxLayoutManager
# End of content from /home/jenkins/.gradle/caches/transforms-3/cd2796d68bdf518cc2fdc16284956ab9/transformed/flexbox-3.0.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/e2fb571037f2de01a08fdc6225811635/transformed/core-1.10.3/proguard.txt
-keepnames class com.google.android.play.core.review.ReviewInfo

# End of content from /home/jenkins/.gradle/caches/transforms-3/e2fb571037f2de01a08fdc6225811635/transformed/core-1.10.3/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/882216da12203b29c956b56dd8f9a1e6/transformed/volley-1.2.1/proguard.txt
# Prevent Proguard from inlining methods that are intentionally extracted to ensure locals have a
# constrained liveness scope by the GC. This is needed to avoid keeping previous request references
# alive for an indeterminate amount of time. See also https://github.com/google/volley/issues/114
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.NetworkDispatcher {
    void processRequest();
}
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.CacheDispatcher {
    void processRequest();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/882216da12203b29c956b56dd8f9a1e6/transformed/volley-1.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/ba3ce5991579b7b42bb46ce01254b7ad/transformed/versionedparcelable-1.1.1/proguard.txt
-keep class * implements androidx.versionedparcelable.VersionedParcelable
-keep public class android.support.**Parcelizer { *; }
-keep public class androidx.**Parcelizer { *; }
-keep public class androidx.versionedparcelable.ParcelImpl

# End of content from /home/jenkins/.gradle/caches/transforms-3/ba3ce5991579b7b42bb46ce01254b7ad/transformed/versionedparcelable-1.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/e94a0b6e3feca8d92ed9c358e46eaa02/transformed/lifecycle-viewmodel-2.3.1/proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
    <init>();
}

-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application);
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/e94a0b6e3feca8d92ed9c358e46eaa02/transformed/lifecycle-viewmodel-2.3.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/ffe57719fbaa847a5fbe6442a42f02e9/transformed/acra-core-5.9.1/proguard.txt
#ACRA specifics
# Restore some Source file names and restore approximate line numbers in the stack traces,
# otherwise the stack traces are pretty useless
-keepattributes SourceFile,LineNumberTable

# ACRA needs "annotations" so add this...
# Note: This may already be defined in the default "proguard-android-optimize.txt"
# file in the SDK. If it is, then you don't need to duplicate it. See your
# "project.properties" file to get the path to the default "proguard-android-optimize.txt".
-keepattributes *Annotation*

# ACRA loads Plugins using reflection, so we need to keep all Plugin classes
-keep class * implements org.acra.plugins.Plugin {*;}

# ACRA uses enum fields in annotations, so we have to keep those
-keep enum org.acra.** {*;}

# ACRA uses autodsl which accesses constructors using reflection
-keepclassmembers class * implements org.acra.config.Configuration { <init>(...); }

-dontwarn android.support.**

-dontwarn com.faendir.kotlin.autodsl.DslInspect
-dontwarn com.faendir.kotlin.autodsl.DslMandatory
-dontwarn com.google.auto.service.AutoService
# End of content from /home/jenkins/.gradle/caches/transforms-3/ffe57719fbaa847a5fbe6442a42f02e9/transformed/acra-core-5.9.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/3a85cce25b58cbe2842e29d76b78898f/transformed/rules/lib/META-INF/proguard/ktor.pro
# Most of volatile fields are updated with AtomicFU and should not be mangled/removed
-keepclassmembers class io.ktor.** {
    volatile <fields>;
}

-keepclassmembernames class io.ktor.** {
    volatile <fields>;
}

# client engines are loaded using ServiceLoader so we need to keep them
-keep class io.ktor.client.engine.** implements io.ktor.client.HttpClientEngineContainer


# End of content from /home/jenkins/.gradle/caches/transforms-3/3a85cce25b58cbe2842e29d76b78898f/transformed/rules/lib/META-INF/proguard/ktor.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/9731556d65f6a97b8655599ff096465a/transformed/rules/lib/META-INF/proguard/coroutines.pro
# ServiceLoader support
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}

# Most of volatile fields are updated with AFU and should not be mangled
-keepclassmembers class kotlinx.coroutines.** {
    volatile <fields>;
}

# Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater
-keepclassmembers class kotlin.coroutines.SafeContinuation {
    volatile <fields>;
}

# These classes are only required by kotlinx.coroutines.debug.AgentPremain, which is only loaded when
# kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used.
-dontwarn java.lang.instrument.ClassFileTransformer
-dontwarn sun.misc.SignalHandler
-dontwarn java.lang.instrument.Instrumentation
-dontwarn sun.misc.Signal

# End of content from /home/jenkins/.gradle/caches/transforms-3/9731556d65f6a97b8655599ff096465a/transformed/rules/lib/META-INF/proguard/coroutines.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/a2354704b43ae501b2f31633c41d93ac/transformed/rules/lib/META-INF/proguard/okhttp3.pro
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**

# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform

# End of content from /home/jenkins/.gradle/caches/transforms-3/a2354704b43ae501b2f31633c41d93ac/transformed/rules/lib/META-INF/proguard/okhttp3.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/16e56c404a9279f57f12f213548c1066/transformed/startup-runtime-1.1.1/proguard.txt
# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml.
-keepnames class * extends androidx.startup.Initializer

# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated,
# and are a part of the primary dex file. This is because they are discovered and instantiated
# during application startup.
-keep class * extends androidx.startup.Initializer {
    # Keep the public no-argument constructor while allowing other methods to be optimized.
    <init>();
}

-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }

# End of content from /home/jenkins/.gradle/caches/transforms-3/16e56c404a9279f57f12f213548c1066/transformed/startup-runtime-1.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/352903a9d8d00eae9a4d03b22f17a303/transformed/exoplayer-core-2.14.0/proguard.txt
# Proguard rules specific to the core module.

# Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening.
-keepclassmembers class com.google.android.exoplayer2.upstream.RawResourceDataSource {
  public static android.net.Uri buildRawResourceUri(int);
}

# Constructors accessed via reflection in DefaultRenderersFactory
-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
  <init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
}
-dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer {
  <init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
}
-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
  <init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
}
-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
  <init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
}
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
  <init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
}

# Constructors accessed via reflection in DefaultDataSource
-dontnote com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
-keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource {
  <init>();
}

# Constructors accessed via reflection in DefaultDownloaderFactory
-dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader
-keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader {
  <init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}
-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader
-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader {
  <init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}
-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader {
  <init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}

# Constructors accessed via reflection in DefaultMediaSourceFactory
-dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory {
  <init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
}
-dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory {
  <init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
}
-dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory {
  <init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
}
-dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory {
  <init>();
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/352903a9d8d00eae9a4d03b22f17a303/transformed/exoplayer-core-2.14.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/8a9ff1f816bccf24bf4cb30dffca2374/transformed/exoplayer-extractor-2.14.0/proguard.txt
# Proguard rules specific to the extractor module.

# Methods accessed via reflection in DefaultExtractorsFactory
-dontnote com.google.android.exoplayer2.ext.flac.FlacExtractor
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacExtractor {
  <init>(int);
}
-dontnote com.google.android.exoplayer2.ext.flac.FlacLibrary
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacLibrary {
  public static boolean isAvailable();
}

# Don't warn about checkerframework and Kotlin annotations
-dontwarn org.checkerframework.**
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**

# End of content from /home/jenkins/.gradle/caches/transforms-3/8a9ff1f816bccf24bf4cb30dffca2374/transformed/exoplayer-extractor-2.14.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/5425ded5a863bd9e724a30d8c277e0f7/transformed/exoplayer-common-2.14.0/proguard.txt
# Proguard rules specific to the common module.

# Don't warn about checkerframework and Kotlin annotations
-dontwarn org.checkerframework.**
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**

# From https://github.com/google/guava/wiki/UsingProGuardWithGuava
-dontwarn java.lang.ClassValue
-dontwarn java.lang.SafeVarargs
-dontwarn javax.lang.model.element.Modifier
-dontwarn sun.misc.Unsafe

# Don't warn about Guava's compile-only dependencies.
# These lines are needed for ProGuard but not R8.
-dontwarn com.google.errorprone.annotations.**
-dontwarn com.google.j2objc.annotations.**
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

# Workaround for https://issuetracker.google.com/issues/112297269
# This is needed for ProGuard but not R8.
-keepclassmembernames class com.google.common.base.Function { *; }

# End of content from /home/jenkins/.gradle/caches/transforms-3/5425ded5a863bd9e724a30d8c277e0f7/transformed/exoplayer-common-2.14.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/a6d5583f02449df1d0e555e42a373327/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
-keep,allowobfuscation @interface androidx.annotation.Keep
-keep @androidx.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <init>(...);
}

-keepclassmembers,allowobfuscation class * {
  @androidx.annotation.DoNotInline <methods>;
}

# End of content from /home/jenkins/.gradle/caches/transforms-3/a6d5583f02449df1d0e555e42a373327/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/d17f29a11124f3a0daa1578ebd55c2fd/transformed/rules/lib/META-INF/proguard/okio.pro
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# End of content from /home/jenkins/.gradle/caches/transforms-3/d17f29a11124f3a0daa1578ebd55c2fd/transformed/rules/lib/META-INF/proguard/okio.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/392c78da8829a7c1e610ccbdbe5dd1cf/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/kotlin-reflect.pro
# When editing this file, update the following files as well:
# - META-INF/com.android.tools/proguard/kotlin-reflect.pro
# - META-INF/com.android.tools/r8-upto-1.6.0/kotlin-reflect.pro
# - META-INF/proguard/kotlin-reflect.pro
# Keep Metadata annotations so they can be parsed at runtime.
-keep class kotlin.Metadata { *; }

# Keep generic signatures and annotations at runtime.
# R8 requires InnerClasses and EnclosingMethod if you keepattributes Signature.
-keepattributes InnerClasses,Signature,RuntimeVisible*Annotations,EnclosingMethod

# Don't note on API calls from different JVM versions as they're gated properly at runtime.
-dontnote kotlin.internal.PlatformImplementationsKt

# Don't note on internal APIs, as there is some class relocating that shrinkers may unnecessarily find suspicious.
-dontwarn kotlin.reflect.jvm.internal.**
# End of content from /home/jenkins/.gradle/caches/transforms-3/392c78da8829a7c1e610ccbdbe5dd1cf/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/kotlin-reflect.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/430dddd20a7f7908c0edcc922ce61d6e/transformed/annotation-experimental-1.1.0/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# 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
#
#      http://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.

# Ignore missing Kotlin meta-annotations so that this library can be used
# without adding a compileOnly dependency on the Kotlin standard library.
-dontwarn kotlin.Deprecated
-dontwarn kotlin.Metadata
-dontwarn kotlin.ReplaceWith
-dontwarn kotlin.annotation.AnnotationRetention
-dontwarn kotlin.annotation.AnnotationTarget
-dontwarn kotlin.annotation.Retention
-dontwarn kotlin.annotation.Target

# End of content from /home/jenkins/.gradle/caches/transforms-3/430dddd20a7f7908c0edcc922ce61d6e/transformed/annotation-experimental-1.1.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-3/3c4d62ea689616950de4366188384413/transformed/eventbus-3.3.1/proguard.txt
-keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# If using AsyncExecutord, keep required constructor of default event used.
# Adjust the class name if a custom failure event type is used.
-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}

# Accessed via reflection, avoid renaming or removal
-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl

# End of content from /home/jenkins/.gradle/caches/transforms-3/3c4d62ea689616950de4366188384413/transformed/eventbus-3.3.1/proguard.txt
# The proguard configuration file for the following section is <unknown>
-keep class **.R
-keep class **.R$* {*;}
-ignorewarnings
# End of content from <unknown>